实验6 三阶立方灯
三阶立方灯是用3×3×3=27只双色发光二极管组成的立方体造型灯。
6.1 实验描述
运用Arduino Uno开发板编程控制三阶立方灯。三阶立方灯电原理图、电路板图、实物图如图6.1所示。
图6.1 三阶立方灯电原理图、电路板图、实物图、流程图
图6.1 三阶立方灯电原理图、电路板图、实物图、流程图(续)
6.2 知识要点
点,在几何学上是指在空间中只有位置、没有大小的图形。例如,线段的端点、两条直线相交处的交点都属于点。
线,在几何学上是指在空间中沿相同或相反方向运动的轨迹。线是由点组成的图形,有位置和一个维度的方向,没有粗细。例如,线段有两个端点,有长度,属于线。
面,在几何学上是指在空间中线移动所生成的形迹。面也是由点组成的图形,有位置和两个维度的方向,没有高度。例如,正方形有长度、宽度,且都相等,属于面。
体,在几何学上是指在空间中具有长、宽、高的结构。体也是由点组成的图形,有位置和三个维度的方向。例如,立方体有长度、宽度、高度,且都相等,属于体。
6.3 编程要点
(1)语句void Lights(int pin11,int pinA5,int pinA2,int pin10,int pinA4, int pinA1,int pin9,int pinA3,int pinA0,int pin8,int pin12,int pin13,int pin3,int pin5, int pin7,int pin2,int pin4,int pin6){}表示设置函数Lights(),用于设置18个整型变量对应Arduino Uno开发板的12个数字端口+6个模拟端口,前9个端口分别与27只双色发光二极管正极引脚连接,后9个端口分别与27只双色发光二极管负极引脚连接。
(2)语句Lights(1,1,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1);表示函数Lights()的第3、6、9个参数为0,对应的端口A2、A1、A0(连接双色发光二极管VD11、VD21、VD31、VD14、VD24、VD34、VD17、VD27、VD37正极引脚)为低电平;其他12个参数为1,对应的端口(连接其他双色发光二极管引脚)为高电平。因此,双色发光二极管VD11、VD21、VD31、VD14、VD24、VD34、VD17、VD27、VD37反向导通,发绿光。
6.4 程序设计
(1)参考程序。
(2)实验结果。
代码上传成功后,将电路板AN06安装到Arduino Uno开发板上,并接通电源。模式一:左竖面9只绿色发光二极管闪亮;左竖面+中竖面18只绿色发光二极管闪亮;27只绿色发光二极管闪亮;中竖面+右竖面18只绿色发光二极管闪亮;右竖面9只绿色发光二极管闪亮;所有发光二极管全都熄灭,循环3次后进入模式二。模式二:上层9只绿色发光二极管闪亮;上层+中层18只绿色发光二极管闪亮;27只绿色发光二极管闪亮;中层+下层18只绿色发光二极管闪亮;下层9只绿色发光二极管闪亮;所有发光二极管全都熄灭,循环3次后进入模式一,以此循环。
6.5 拓展与挑战
代码上传成功后,将电路板AN06安装到Arduino Uno开发板上,并接通电源。模式一:左竖面9只红色发光二极管闪亮;左竖面+中竖面18只红色发光二极管闪亮;27只红色发光二极管闪亮;中竖面+右竖面18只红色发光二极管闪亮;右竖面9只红色发光二极管闪亮;所有发光二极管全都熄灭,循环3次后进入模式二。模式二:上层9只红色发光二极管闪亮;上层+中层18只红色发光二极管闪亮;27只红色发光二极管闪亮;中层+下层18只红色发光二极管闪亮;下层9只红色发光二极管闪亮;所有发光二极管全都熄灭,循环3次后进入模式一,以此循环。
提示:
左竖面9只红色发光二极管闪亮代码为Lights(0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0);。
右竖面9只红色发光二极管闪亮代码为Lights(1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0);。
上层9只红色发光二极管闪亮代码为Lights(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0);。
下层9只红色发光二极管闪亮代码为Lights(1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1);。