双源电子

在线客服
 工作时间
周一至周五 :8:30-17:30
周六至周日 :9:00-17:00

ARDUINO学习4

作者:双源电子

如何将按钮开关和LED关联起来呢?
很多时候的应用场景,需要将按钮开关与LED的动作关联起来,并不是简单地用开关控制电路通断,来影响LED灯的亮和灭。比如下面这个电路图:
图片
电路中D2为高电平,LED就被点亮;反之LED熄灭;
按键S1按下时,D3为高电平;而当S1弹起后,D3为低电平;
本图中LED和按钮之间是没有直接控制关系的。
我们来看下面两种应用:
功能1:按下按钮时,LED灭掉,松手后LED点亮
先判断D3状态,然后再控制LED状态,因此代码应该这样写:
void loop()
{
      if(digitalRead(3)==1)//按钮按下
       {
               digitalWrite(2,0);//LED 灭
       }else{                     //按钮弹起
               digitalWrite(2,1);//LED 亮
       }
}
功能2:每次按下按钮时,LED状态改变
这也是常见的应用场景,用来提醒有动作发生或者用于计数。
这里我们需要引入一个全局变量,用来记录前一次的状态,代码如下:
int stu=0;//状态变量,初始值为0
void loop()
{
     if(digitalRead(3)==1)//按钮按下
   {
       delay(10);//延时10ms
        if(digitalRead(3)==1)//延时后再次判断按钮是否被按下,这是按钮处理中常用的“软件去抖动”方法,防止有外界干扰引起的信号抖动
       {
           stu = 1- stu;//状态改变
           digitalWrite(2,stu );//设置LED当前的状态,如果上一次点亮,本次就熄灭;反之如果上一次是熄灭状态,本次就点亮
       }


   }

delay(10);
}


联系方式
_faiMaterial_000045

联系人:ANTBOT001

QQ:584860790

邮 箱:584860790@qq.com

交流群: 615486305