![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=1739295890-5Krr5OKMV47YEAXmJ3iGF1V2ejV3cI0b-0-ee68bdd312d09d648877282b46259bdc)
图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=1739295890-RXe1ZeMwoBuQjzlEepX5frqBb43fZQ0w-0-f34bc1395262201ecec828f823ddb06a)
第二步,在setup函数中,设置数字端口12为输出和输入模式,输出高电平。
![img](https://epubservercos.yuewen.com/D677FA/19391577401344906/epubprivate/OEBPS/Images/txt002_39.jpg?sign=1739295890-L59Dw4dxLGWoWhD1f6CD3gdqCp9ePjri-0-105c37898695ea012beabb7a49739e50)
第三步,在loop函数中,读出数字端口的值,根据需要设置相应程序。
![img](https://epubservercos.yuewen.com/D677FA/19391577401344906/epubprivate/OEBPS/Images/txt002_40.jpg?sign=1739295890-iAFsxayxF9kqirSM96I09OHNs30ImGT7-0-fa86821492c6f5c430cb28b8a99c91d3)
2.6.4 程序设计
(1)程序参考
![img](https://epubservercos.yuewen.com/D677FA/19391577401344906/epubprivate/OEBPS/Images/txt002_41.jpg?sign=1739295890-vrECXTThtmNt4OAnAu7tOmgujvS2SWnH-0-3a131778b40ec028fcfdb8780013a24e)
![img](https://epubservercos.yuewen.com/D677FA/19391577401344906/epubprivate/OEBPS/Images/txt002_42.jpg?sign=1739295890-4lMM3NGblU26l8pIO6pwk6CKHsSOTzCT-0-03c06cba5f4aa15078e174ea1b953928)
(2)实验结果
接通电源,按下按键,LED灯D13点亮;松开按键,LED灯D13熄灭。
2.6.5 拓展和挑战
按下按键,LED灯D11、D13熄灭;松开按键,LED灯D11、D13点亮。