![Arduino Uno轻松进阶36例](https://wfqqreader-1252317822.image.myqcloud.com/cover/547/43738547/b_43738547.jpg)
实验8 四阶立方灯
四阶立方灯是用4×4×4=64只双色发光二极管组成的立方体造型灯。
8.1 实验描述
运用Arduino Uno开发板编程控制四阶立方灯。四阶立方灯电原理图、电路板图、实物图、流程图如图8.1所示。
![img](https://epubservercos.yuewen.com/63FB11/23020659601694706/epubprivate/OEBPS/Images/txt008_1.jpg?sign=1739533548-JgVYHF0mQdP2bcUPirRbIkG0OnvzxBCL-0-090d6dad598e97825c2eab66fbf02eb7)
图8.1 四阶立方灯电原理图、电路板图、实物图、流程图
![img](https://epubservercos.yuewen.com/63FB11/23020659601694706/epubprivate/OEBPS/Images/txt008_2.jpg?sign=1739533548-OxBnIwb0J8wQwjvwZHgUl3hgjivGPWSq-0-e54335a412800c133dcc4073a95eb478)
图8.1 四阶立方灯电原理图、电路板图、实物图、流程图(续)
8.2 知识要点
平面,在几何学上是指在空间中到两点距离相同的点的轨迹。平面没有边界,没有面积,没有质量。三角形、正方形、圆形这些图形的点都在同一平面上,因此它们又被称为平面图形。
立体,在几何学上是指在空间中具有长、宽、高的形体。例如,正方体、圆柱体、球体这些图形的点不都在同一平面上,因此它们又被称为立体图形。
8.3 编程要点
(1)语句void Lights(int pinA1,int pinA3,int pin13, int pin9,int pin12,int pinA2,int pinA0,int pin11,int pin10,int pin8,int pin5,int pin2,int pin6,int pin3,int pin7,int pin4){}表示设置函数Lights(),用于设置16个整型变量对应Arduino Uno开发板的12个数字端口+4个模拟端口,前8个端口分别与64只双色发光二极管正极引脚连接,后8个端口分别与64只双色发光二极管负极引脚连接。
(2)语句Lights(1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1);表示函数Lights()的第10个参数为0,对应的端口8(连接双色发光二极管VD103、VD104、VD107、VD108、VD111、VD112、VD115、VD116负极引脚)为低电平;其他参数为1,对应的端口(连接其他双色发光二极管引脚)为高电平。因此,双色发光二极管VD103、VD104、VD107、VD108、VD111、VD112、VD115、VD116正向导通,发红光。
8.4 程序设计
(1)参考程序。
![img](https://epubservercos.yuewen.com/63FB11/23020659601694706/epubprivate/OEBPS/Images/txt008_3.jpg?sign=1739533548-MJYtzISP3TqWQKYFq3K1OUshJTzITR3B-0-1c9121e6f6b218a804837ec2664ab0e3)
![img](https://epubservercos.yuewen.com/63FB11/23020659601694706/epubprivate/OEBPS/Images/txt008_4.jpg?sign=1739533548-4iiGzW0RaZNdU92nDJzWl5C7yiYx9m3i-0-4bdbe2597b0656cc4be2ef39b62bdf0e)
(2)实验结果。
代码上传成功后,将电路板AN08安装到Arduino Uno开发板上,并接通电源,8只红色发光二极管由下向上闪亮;16只红色发光二极管由下向上闪亮;16只、32只、48只、64只、48只、32只、16只红色发光二极管由下向上闪亮;所有发光二极管全都熄灭,以此循环。
8.5 拓展与挑战
代码上传成功后,将电路板AN08安装到Arduino Uno开发板上,并接通电源。8只绿色发光二极管由上至下闪亮;16只绿色发光二极管由上至下闪亮;16只、32只、48只、64只、48只、32只、16只绿色发光二极管由上至下闪亮;所有发光二极管全都熄灭,以此循环。
提示:
上第1层左第1、2列8只绿色发光二极管闪亮代码为Lights(0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0);。
上第1层左第3、4列8只绿色发光二极管闪亮代码为Lights(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);。
上第1层16只绿色发光二极管闪亮代码为Lights(0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1);。
上第1、2层32只绿色发光二极管闪亮代码为Lights(0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1);。
上第1、2、3层48只绿色发光二极管闪亮代码为Lights(0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1);。
64只绿色发光二极管闪亮代码为Lights(0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1);。