![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=1738862278-huVUkmA35qxvD7Hm4pI3StgRdQudlIBR-0-6a646257877c217009b842610b5164a2)
图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=1738862278-hFyyogkZxj3B684kNRmhWm4GNT5T1SFA-0-08ebae2acbcf4b96f090c82223f20cd1)
第二步,在setup函数中,设置数字端口12为输出和输入模式,输出高电平。
![img](https://epubservercos.yuewen.com/D677FA/19391577401344906/epubprivate/OEBPS/Images/txt002_39.jpg?sign=1738862278-vVdnLBsNxWzS9K8yWHtYFqNExbmStuUi-0-18a4d692f23839b4acabb7f1adbf3058)
第三步,在loop函数中,读出数字端口的值,根据需要设置相应程序。
![img](https://epubservercos.yuewen.com/D677FA/19391577401344906/epubprivate/OEBPS/Images/txt002_40.jpg?sign=1738862278-sUldunmkzwQbR7LTi1GSn40CZ3wmUNZt-0-07965bf5973b0dc7aabca43abc28a6ff)
2.6.4 程序设计
(1)程序参考
![img](https://epubservercos.yuewen.com/D677FA/19391577401344906/epubprivate/OEBPS/Images/txt002_41.jpg?sign=1738862278-M68fAajlYE73PS4QJ5jZTGQyOgXhhzAY-0-9b8ecc3bc06f8c8027d3ed44a18804e5)
![img](https://epubservercos.yuewen.com/D677FA/19391577401344906/epubprivate/OEBPS/Images/txt002_42.jpg?sign=1738862278-slQU7Fka8FJIaaiRAiH9IIVmRi5mCWns-0-1e84b3d5fc3405bfa0efe8a4b00c1e60)
(2)实验结果
接通电源,按下按键,LED灯D13点亮;松开按键,LED灯D13熄灭。
2.6.5 拓展和挑战
按下按键,LED灯D11、D13熄灭;松开按键,LED灯D11、D13点亮。