![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=1739232767-Ozne9z3uLBCNLcIwSvD7ktZLUWgMJCln-0-16c81c63553bc61f8f7d0be1bca18260)
图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=1739232767-fyV7XJph4dsyvXdwN4AGymMXOobVegAS-0-ecabaf060cba2a2c52f1260154f3de91)
第二步,在setup函数中,设置数字端口12为输出和输入模式,输出高电平。
![img](https://epubservercos.yuewen.com/D677FA/19391577401344906/epubprivate/OEBPS/Images/txt002_39.jpg?sign=1739232767-HTJigCyougklMtvgb5LpDgMkzsdVgwJs-0-83f9fed0276115d43c8bbbe2d62d9778)
第三步,在loop函数中,读出数字端口的值,根据需要设置相应程序。
![img](https://epubservercos.yuewen.com/D677FA/19391577401344906/epubprivate/OEBPS/Images/txt002_40.jpg?sign=1739232767-yy0kUOD6N8OZ2Z9QG4etb7Cy75SER3CB-0-12a84d5de86d204f67148f6f86554f92)
2.6.4 程序设计
(1)程序参考
![img](https://epubservercos.yuewen.com/D677FA/19391577401344906/epubprivate/OEBPS/Images/txt002_41.jpg?sign=1739232767-95zhtETKAynzzuGG0bgIeVmFN4RXssLZ-0-f0a8b40645f5a0ab023ef761fd58f443)
![img](https://epubservercos.yuewen.com/D677FA/19391577401344906/epubprivate/OEBPS/Images/txt002_42.jpg?sign=1739232767-u5eKxicSBemHg6B6IgfiHyKTaTHZEEyE-0-af024261f86ec722784a55bf2304ec3f)
(2)实验结果
接通电源,按下按键,LED灯D13点亮;松开按键,LED灯D13熄灭。
2.6.5 拓展和挑战
按下按键,LED灯D11、D13熄灭;松开按键,LED灯D11、D13点亮。