![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=1739109523-r74j2Fs5MYsyVlV7M0daONFpjouTTBzK-0-f85927270709f0082d9cf936ba3c8431)
图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=1739109523-fweOUc82lJeaklfW6lCp3Cl3Y7U4QkXf-0-bab8e630256bf637728e203b158e15db)
第二步,在setup函数中,设置数字端口12为输出和输入模式,输出高电平。
![img](https://epubservercos.yuewen.com/D677FA/19391577401344906/epubprivate/OEBPS/Images/txt002_39.jpg?sign=1739109523-3zRvZgCYgqj04aZZUTB4EVuYF0R3XUTG-0-3752c5c791fc894c3a15457f42bb2244)
第三步,在loop函数中,读出数字端口的值,根据需要设置相应程序。
![img](https://epubservercos.yuewen.com/D677FA/19391577401344906/epubprivate/OEBPS/Images/txt002_40.jpg?sign=1739109523-eaohAfPdBrVmJC0CnnLghUs0iuuGmtwr-0-6626f6cb384aa91812098315387eed5d)
2.6.4 程序设计
(1)程序参考
![img](https://epubservercos.yuewen.com/D677FA/19391577401344906/epubprivate/OEBPS/Images/txt002_41.jpg?sign=1739109523-hLCWwCTyaXIwbPsFYgAxlrC1L497FCcX-0-bcbb095165d5d8df3e5166d04ef64215)
![img](https://epubservercos.yuewen.com/D677FA/19391577401344906/epubprivate/OEBPS/Images/txt002_42.jpg?sign=1739109523-DZyMr3e6E2yfskn8J7riCEFx9ShT4nff-0-64c2881c01bb3b8d0b5a87cf06daf58e)
(2)实验结果
接通电源,按下按键,LED灯D13点亮;松开按键,LED灯D13熄灭。
2.6.5 拓展和挑战
按下按键,LED灯D11、D13熄灭;松开按键,LED灯D11、D13点亮。