实验7 四阶平面灯
四阶平面灯是用4×4=16只双色发光二极管组成的平面九宫格造型灯。
7.1 实验描述
运用Arduino Uno开发板编程控制四阶平面灯。四阶平面灯电原理图、电路板图、实物图、流程图如图7.1所示。
图7.1 四阶平面灯电原理图、电路板图、实物图、流程图
图7.1 四阶平面灯电原理图、电路板图、实物图、流程图(续)
7.2 知识要点
九宫格,原指一种数字游戏,即在3×3方格盘上,随意摆放8个分别带有数字1至8的小木块,空格周边的小木块可移动至空格内,玩家需要将小木块按12345678的顺序重新排好。九宫格数字游戏主要用于娱乐兼锻炼逻辑推理能力。九宫格由4条水平线和4条竖直线交叉形成外圈12点,内圈4点,共9个方格,摄影爱好者常运用九宫格分割图形,把要拍摄的主体对象放在内圈4点中的一个点上,这样构图符合人们的审美情趣,这种构图法又叫九宫格构图法。
7.3 编程要点
(1)语句void Lights(int pin0,int pin2,int pin5,int pin4,int pin1, int pin3,int pin6,int pin7,int pinA1,int pin8,int pin9,int pin10, int pinA0,int pin13, int pin12,int pin11,int pinA2,int pinA3,int pinA4,int pinA5){}表示设置函数Lights(),用于设置20个整型变量对应Arduino Uno开发板的14个数字端口+6个模拟端口,前16个端口分别与16只双色发光二极管正极引脚连接,后4个端口分别与16只双色发光二极管负极引脚连接。
(2)语句Lights(1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0);表示函数Lights()的第1、5、9、13个参数为1,对应的端口0、1、A1、A0(连接双色发光二极管VD0、VD4、VD8、VD12正极引脚)为高电平;其他16个参数为0,对应的端口(连接其他双色发光二极管引脚)为低电平。因此,双色发光二极管VD0、VD4、VD8、VD12正向导通,发红光。
7.4 程序设计
(1)参考程序。
(2)实验结果。
代码上传成功后,将电路板AN07安装到Arduino Uno开发板上,并接通电源。模式一:左第1列4只红色发光二极管闪亮;左第1列和第2列8只红色发光二极管闪亮;左第1列、第2列和第3列12只红色发光二极管闪亮;左第1列、第2列、第3列和第4列16只红色发光二极管闪亮;左第2列、第3列和第4列12只红色发光二极管闪亮;左第3列和第4列8只红色发光二极管闪亮;左第4列4只红色发光二极管闪亮;所有发光二极管全都熄灭,循环4次后进入模式二。模式二:上第1行4只红色发光二极管闪亮;上第1行和第2行8只红色发光二极管闪亮;上第1行、第2行和第3行12只红色发光二极管闪亮;上第1行、第2行、第3行和第4行16只红色发光二极管闪亮;上第2行、第3行和第4行12只红色发光二极管闪亮;上第3行和第4行8只红色发光二极管闪亮;上第4行4只红色发光二极管闪亮;所有发光二极管全都熄灭,循环4次后进入模式一,以此循环。
7.5 拓展与挑战
代码上传成功后,将电路板AN07安装到Arduino Uno开发板上,并接通电源。模式一:左第1列4只绿色发光二极管闪亮;左第1列和第2列8只绿色发光二极管闪亮;左第1列、第2列和第3列12只绿色发光二极管闪亮;左第1列、第2列、第3列和第4列16只绿色发光二极管闪亮;左第2列、第3列和第4列12只绿色发光二极管闪亮;左第3列和第4列8只绿色发光二极管闪亮;左第4列4只绿色发光二极管闪亮;所有发光二极管全都熄灭,循环4次后进入模式二。模式二:上第1行4只绿色发光二极管闪亮;上第1行和第2行8只绿色发光二极管闪亮;上第1行、第2行和第3行12只绿色发光二极管闪亮;上第1行、第2行、第3行和第4行16只绿色发光二极管闪亮;上第2行、第3行和第4行12只绿色发光二极管闪亮;上第3行和第4行8只绿色发光二极管闪亮;上第4行4只绿色发光二极管闪亮;所有发光二极管全都熄灭,循环4次后进入模式一,以此循环。
提示:
左第1列4只绿色发光二极管闪亮代码为Lights(0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,1,1,1,1);。
左第4列4只绿色发光二极管闪亮代码为Lights(1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,1);。
上第1行4只绿色发光二极管闪亮代码为Lights(1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1);。
上第4行4只绿色发光二极管闪亮代码为Lights(0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);。