![Arduino Uno轻松入门48例](https://wfqqreader-1252317822.image.myqcloud.com/cover/745/36511745/b_36511745.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.6 按下按键亮灯,松开按键灭灯
在日常生活中,我们常用开关控制灯的开与关,按下开关后,灯持续点亮;关闭开关后,灯持续熄灭。另外,我们也常用键盘打字,其实键盘使用的也是一种开关,它的名字叫轻触开关,按下按键后,电路接通;松开按键后,电路断开。最为奇妙的是,通过编程的方式,可实现按下按键后,电路断开,松开按键后,电路接通。这是怎么回事呢?如何编程实现?
2.6.1 实验描述
编程实现按下按键灯点亮、松开按键灯熄灭。
AU06的电路原理图、电路板图和实物图如图2.10所示。
![img](https://epubservercos.yuewen.com/D677FA/19391577401344906/epubprivate/OEBPS/Images/txt002_37.jpg?sign=1739402632-wIjJVmBu15wVSb17y3snpRXl6jaBtNIW-0-5ce31c5f0715ef0f5110da760a617e89)
图2.10 AU06的电路原理图、电路板图和实物图
2.6.2 知识要点
按键控制通常指使用轻触开关控制。轻触开关的工作原理是,按下按键后电路接通,松开按键后电路断开。按键控制是自动化、智能化控制中的一种常见控制方式。
2.6.3 编程要点
1.语句if(val==1){语句1;}else{语句2;}
这是条件判断语句,表示如果val==1,那么执行语句1,否则执行语句2。
2.Arduino Uno开发板数字输入端口的编程方法
第一步,定义整型变量val。
![img](https://epubservercos.yuewen.com/D677FA/19391577401344906/epubprivate/OEBPS/Images/txt002_38.jpg?sign=1739402632-wZaJKIM1zC0ei2b74VzuylUKOrI1wS1a-0-cdb16c76edc52a0bee7b5416b1ba5937)
第二步,在setup函数中,设置数字端口12为输出和输入模式,输出高电平。
![img](https://epubservercos.yuewen.com/D677FA/19391577401344906/epubprivate/OEBPS/Images/txt002_39.jpg?sign=1739402632-56Cx2M7SpOnkUayfVl2OOzvqQx6mTaMz-0-e2e60cd30679b6cc49c8f01e846e2312)
第三步,在loop函数中,读出数字端口的值,根据需要设置相应程序。
![img](https://epubservercos.yuewen.com/D677FA/19391577401344906/epubprivate/OEBPS/Images/txt002_40.jpg?sign=1739402632-LYOS39SyIGQsqxLJragVUSa2guBG8i2u-0-a6a4166b5c7c8fa32af1a5be4510bc84)
2.6.4 程序设计
(1)程序参考
![img](https://epubservercos.yuewen.com/D677FA/19391577401344906/epubprivate/OEBPS/Images/txt002_41.jpg?sign=1739402632-0WW7MCqrgucGM7CXuXSmjyhtbPMoi4Nt-0-46e260dfc8aaa77c85badb74a47dd9df)
![img](https://epubservercos.yuewen.com/D677FA/19391577401344906/epubprivate/OEBPS/Images/txt002_42.jpg?sign=1739402632-ato6gmx0Yl0lQc5zpAYlNa1ByTqf4eOr-0-07165bf87d95373838740a60d914ca9a)
(2)实验结果
接通电源,按下按键,LED灯D13点亮;松开按键,LED灯D13熄灭。
2.6.5 拓展和挑战
按下按键,LED灯D11、D13熄灭;松开按键,LED灯D11、D13点亮。