Arduino互动设计
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

挑战自我:两个按钮分别控制9号灯亮度的增加和减小

前面通过上按钮控制9号LED灯变亮,下面尝试用下按钮来控制LED灯变暗。

编程思路

两个按钮控制LED灯亮度程序流程图

范例程序

两个按钮控制LED灯亮度程序

要做到两个按钮分别控制LED灯的亮度,首先要解决LED灯的亮度由什么控制,结合前面的学习,可以设置一个变量,通过该变量给9号管脚赋值,实现对LED灯亮度的控制;其次通过上按钮和下按钮的“按下”或“松开”来控制变量数值的变化,进而实现增加和减小LED灯亮度的效果。

知识加油站

按钮消抖

按钮所用的开关通常为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按钮在闭合时不会马上接通,在断开时也不会马上就断开,而是有一定的延时,这一时间一般为5~10毫秒。因此,在闭合或断开的瞬间均伴随有一连串的抖动。这种抖动虽然在瞬间发生,但是Arduino运行的速度飞快,按钮抖动会引起一次按钮被误读多次,导致程序运行出现异常。为消除这种现象所采取的措施,称为“按钮消抖”或者“按键消抖”。最简单的消抖方法就是加入适当的延时,如100~300毫秒。