|
本帖最后由 Astilbe001 于 2020-1-8 19:48 编辑
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()中第一行加入即可。
|
|