还是打开blink的例程,在这个上面修改。 还记得void setup()的作用吧,放初始化的语句用的。比如原来的句子pinMode(13, OUTPUT); 就是设置13号数字引脚设置为输出模式。那么我们2号脚接了按键,要受按键控制,自然是要设置成输入模式pinMode(2, INPUT); 好的,初始化的程序配置完毕。 接着就是主程序了,原来的代码 digitalWrite(13, HIGH);// set the LED on delay(1000);// wait for a second digitalWrite(13, LOW);// set the LED off delay(1000);// wait for a second 记得之前说过的吧,digitalWrite(13, HIGH); 是将13号引脚设置为输出高电平,那么对应的自然有读数字IO的语句:digitalRead(2); 只有一个参数,就是你要读取的IO的电平状态。 按键的状态已经输入到Zduino了,那么要怎么判断使灯亮起来呢?使用以下的语句: if 判断条件成立 then 运行你要的程序 ; 例如: if(digitalRead(2)==1) { digitalWrite(13, HIGH); }//如果digitalRead(2)读到的2号脚为高电平,则LED引脚输出高电平。 也可以简写如下: if(digitalRead(2))//判断语句就是如果为0就是假,不成立,非零的数就是真,真的就成立。 /*好好理解这一句话,很有用的*/ digitalWrite(13, HIGH);//如果只要执行一条语句,花括弧可以不要。
编译下载。。。。 可以看到L是亮起来的,按下按键,灯灭了,松开,灯又亮了。 软件进阶 if(digitalRead(2)==1) { digitalWrite(13, HIGH); } if(digitalRead(2)==0) { digitalWrite(13, LOW); 有没有觉得特别别捏? 对头,if判断语句还有另外两种用法如下: if 判断语句成立 执行第一条语句; else//除去语句成立之外的情况成立了(怎么觉得说的好绕口啊) 执行这一条语句; if(digitalRead(2)==1) { digitalWrite(13, HIGH); } else { digitalWrite(13, LOW); } 还有一种就是更多的判断语句: if 判断语句一成立 执行第一条语句; else 判断语句二成立 执行第二条语句; else 判断语句三成立 执行第三条语句; 。 。 。 现在我们还用不到这个,略过不提。 附件 附件: 修改完成后的程序如下:如果你修改的不能运行,就和我的对比下,看看什么地方不一样,记得,”; ”不要忘记了,而且是英文的哦~ /* Blink Turns on an LED on for one second,then off for one second, repeatedly.
This example code is in the publicdomain. */
void setup() { // initialize the digital pin as anoutput. // Pin 13 has an LED connected onmost Arduino boards: pinMode(13, OUTPUT); pinMode(2, INPUT); }
void loop() { if(digitalRead(2)) digitalWrite(13, HIGH);// set the LED on else digitalWrite(13, LOW);// set the LED off }