分享

STM32-Stduino小白练习第四弹--按键控制LED灯闪灭&按键去抖

 Astilbe001 2020-01-10

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);

即可。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多