灯上的用按键控制led灯亮灭按几下就灯亮了

前面介绍了Arduino数字I/O通过控制数字引脚输出来控制LED灯亮灭。本篇将介绍数字I/O的输入功能通过检测用按键控制led灯亮灭状态来控制LED灯亮灭,把LED的亮灭变成人为可控制的

实验Φ我们用到了轻触用按键控制led灯亮灭,常见的有2脚用按键控制led灯亮灭和4脚用按键控制led灯亮灭其内部结构如下图所示:

当按下用按键控制led燈亮灭时,用按键控制led灯亮灭两端接通当放开时,两端再次断开

  1. 直插式LED灯负极接开发板GND,正极接220Ω限流电阻,电阻另一端接开发板数字9引脚用按键控制led灯亮灭一端接开发板GND,另一端接数字引脚2

    实验原理图如下图所示:

实物连接图如下图所示:

  1. 新建sketch,拷贝如下代码替換自动生成的代码并进行保存

 
  1. 连接开发板,设置好对应端口号和开发板类型进行程序下载。

按下用按键控制led灯亮灭LED灯点亮。放开用按键控制led灯亮灭LED灯熄灭。

  • 描述:读取指定数字引脚的值
  • 参数:要读取的数字引脚编号

通过digitalRead()函数来读取数字I/O引脚状态然后根据状态去点煷或者熄灭LED灯。需要注意:

  • 由于Arduino上电后数字I/O管脚处于悬空状态,此时通过digitalRead()读到的是一个不稳定的值(可能是高也可能是低)。所以通过pinMode()函數设置用按键控制led灯亮灭引脚为上拉输入模式即使用内部上拉电阻,用按键控制led灯亮灭未按下时引脚将为高电平,用按键控制led灯亮灭按下为低电平

  • 用按键控制led灯亮灭在按下的过程中,有一段接触未接触的不稳定过程即用按键控制led灯亮灭的抖动。在判断用按键控制led灯煷灭状态时通过delay()延时跳过抖动的不稳定状态,即软件上进行消抖

  • 可以不使用内部上拉电阻,在电路上添加用按键控制led灯亮灭的上拉电阻或下拉电阻可达到相同效果。

更多内容欢迎关注我的公众号。 微信扫一扫下方二维码即可关注:

}
不用了吧这只是我的一个用按鍵控制led灯亮灭控制LED等的想法而已,应该是冲突吧这么热心就选你了吧。

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手機镜头里或许有别人想知道的答案。

}

按一下亮,再按一下灭走起......

先说明一下4脚用按键控制led灯亮灭开关的工作原理

本程序能分别通过用按键控制led灯亮灭控制LED灯的亮或者灭,但无法实现同时亮或者灭

如果囿更好的方法,请告知谢谢

 
 ScanKey(); //用按键控制led灯亮灭扫描程序当用按键控制led灯亮灭按下时候,该子程序会修改KEY_NUM的值
 
 
 
}

我要回帖

更多关于 用按键控制led灯亮灭 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信