实操任务:按键控制心形图案交互显示
器件
ESP32主控板1块,按键模块1个,8x8LED点阵1个,74HC595移位寄存器芯片(或模块)及相应辅件。以上模块也可使用分立器件结合面包板搭建。
任务要求
通过按键控制8x8LED点阵屏在黑屏-小心形图案-大心形图案之间循环切换显示,具体任务要求如下:
-
程序启动后,8x8LED点阵最外侧四边的LED灯点亮,中间区域LED灯熄灭;
-
第1次点击按键,8x8LED点阵屏所有的LED熄灭,呈现黑屏状态;
-
第2次点击按键,8x8LED点阵屏显示小心形图案;
-
第3次点击按键,8x8LED点阵屏显示大心形图案;
-
依次类推,当再次点击按键时,8x8LED依次在黑屏、小心形图案、大心形图案之间循环切换显示;
-
按键输入须进行消抖处理;
-
程序采用Arduino C/C++代码编写,不得使用外部库调用;
-
未作规定处可自行处理,无明显与事实违背即可。
提交要求
请考生在考试结束前,按照如下要求提交相关文件。
-
将程序放在一个文件夹中,压缩为1个“rar或zip”格式文件,并命名为:DJKS5_身份证号,大小5M以下;
-
将程序文件通过“上传附件”按钮进行上传;
-
程序编写过程中不得打开其它示例程序,如发现,实操成绩按照0分处理。
参考资料
数组heartB[]和heartS[]分别为大小心形的点阵数据。编程时可参考使用。
byte heartB[] = {0x99, 0x00, 0x00, 0x00, 0x81, 0xC3, 0xE7, 0xFF};
byte heartS[] = {0xFF, 0xDB, 0x81, 0x81, 0xC3, 0xE7, 0xFF, 0xFF};
评分标准(共100分)
1. 电路搭设(20分)
元器件:
(1)装置中包含按键模块;(2分)
(2)装置中包含8x8LED点阵;(2分)
(3)装置中包含74HC595移位寄存器模块或芯片;(2分)
电路搭设:
(4)按键模块与主控板正确连接;(4分)
(5)8x8点阵与74HC595移位寄存器模块或芯片正确连接;(5分)
(6)74HC595移位寄存器模块或芯片与主控板正确连接。(5分)
2. 功能实现(80分)
(1)程序启动后,实现8x8LED点阵最外侧四边的LED灯点亮,中间区域LED灯熄灭;(20分)
(2)实现第1次点击按键,8x8LED点阵屏所有的LED熄灭,呈现黑屏状态;(15分)
(3)实现第2次点击按键,8x8LED点阵屏显示小心形图案;(15分)
(4)实现第3次点击按键,8x8LED点阵屏显示大心形图案;(15分)
(5)再次连续点击按键,实现8x8LED依次在黑屏、小心形图案、大心形图案之间循环切换显示。(15分)
子题 填空题
请按上述要求完成实操任务