实验现象:本实验通过一个按键来控制一个发光二极管的亮灭。按键按一下LED点亮。再按一下LED熄灭。
理论学习:
该实验主要难点:
如何扫描按键的状态/p>
如何防抖动/p>
原理讲解:
按键检测原理:通过把Arduino的数字IO设置为输入状态来监控按键是否按下,当按键未按下的时候因为有上拉电阻的存在,读到的电平为HIGH,当按键按下时候因为按键引脚接地,所以读回来的电平为LOW,由此判断按键是否按下。
按键去抖动原理:因为人手的机械动作使按键按下时候会产生大概20ms左右的按键抖动,如果Arduino在这20ms内去检测IO口的电平很可能会检测出来不稳定的信 。因此,在检测到低电平后延迟20ms再检测可以起到软件去抖动的作用。
松手检测原理:所谓的松手检测就是程序无线循环等待按键松开,即让程序不停的去检测IO状态,如果恢复了HIGH就跳出循环。
代码为while(diitalRead(KEY)==0);
程序代码:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!