Arduino基础入门篇07 | 您所在的位置:网站首页 › 键盘按键连在一起 › Arduino基础入门篇07 |
前面介绍了Arduino数字I/O,通过控制数字引脚输出来控制LED灯亮灭。本篇将介绍数字I/O的输入功能,通过检测按键状态来控制LED灯亮灭,把LED的亮灭变成人为可控制的。 1. 实验材料 Uno R3开发板配套USB数据线面包板及配套连接线1个LED灯1个220Ω电阻1个轻触按键实验中我们用到了轻触按键,常见的有2脚按键和4脚按键,其内部结构如下图所示: 当按下按键时,按键两端接通,当放开时,两端再次断开。 2. 实验步骤根据原理图搭建电路 直插式LED灯负极接开发板GND,正极接220Ω限流电阻,电阻另一端接开发板数字9引脚。按键一端接开发板GND,另一端接数字引脚2。 实验原理图如下图所示: 实物连接图如下图所示: 连接开发板,设置好对应端口号和开发板类型,进行程序下载。 按下按键,LED灯点亮。放开按键,LED灯熄灭。 digitalRead() 描述:读取指定数字引脚的值函数原型:digitalRead(pin)参数:要读取的数字引脚编号返回值:HIGH(1)或LOW(0) 5. 总结分析通过digitalRead()函数来读取数字I/O引脚状态,然后根据状态去点亮或者熄灭LED灯。需要注意: 由于Arduino上电后,数字I/O管脚处于悬空状态,此时通过digitalRead()读到的是一个不稳定的值(可能是高,也可能是低)。所以通过pinMode()函数设置按键引脚为上拉输入模式。即使用内部上拉电阻,按键未按下时,引脚将为高电平,按键按下为低电平。 按键在按下的过程中,有一段接触未接触的不稳定过程,即按键的抖动。在判断按键状态时,通过delay()延时跳过抖动的不稳定状态,即软件上进行消抖。 可以不使用内部上拉电阻,在电路上添加按键的上拉电阻或下拉电阻,可达到相同效果。 更多内容,欢迎关注我的公众号。 微信扫一扫下方二维码即可关注: |
CopyRight 2018-2019 实验室设备网 版权所有 |