2020/01/06 星期一 作者:Astilbe
问题:如何利用Stduino通过按键控制LED灯亮灭。
我们已经学习过怎么点亮一颗LED灯,那么怎么用按键来控制它亮和灭呢?
简化一下我们需要达到的目标:
即按键按下LED灯亮,再按一次,LED灯灭。
那么只要让处理器知道按键状态,再调整LED灯的引脚输出电平(LOW还是HIGH)即可。
话不多说:
int Button = 9;//设置按键为数字引脚9
int LED =13;//设置LED灯为数字引脚13
int Button_State=0;
void setup() {
// put your setup code here, to run once:
pinMode(Button,INPUT);//数字输入初始化,不拉高,得加电阻
pinMode(LED,OUTPUT);//数字输出初始化
}
void loop() {
// put your main code here, to run repeatedly:
Button_State = digitalRead(Button) ;//读取当前按键状况
if(Button_State){
digitalWrite(LED,HIGH);
}else{
digitalWrite(LED,LOW);
}
}
一般按键按下时,往往会出现所按的按键在闭合和断开位置之间跳几下,才稳定在闭合状态——这就是按键抖动。这可能会导致按下或松开时电路不正常工作。
据此,在按下按键时,延时10MS,就可消除抖动。抖动持续时间不一,一般不会大于10MS。在loop()中第一行加入
delay(10);
即可。
本文转载自Stduino网http://stduino.com/forum.php?mod=viewthread&tid=11&extra=page%3D1