青少年机器人技术等级考试实际操作试卷(五级)
分数:100.00 题数:1
一、试题说明(共1题,共100分)
1. 主题:串口交互心形图案显示
器件:ESP32主控、8x8LED点阵、74HC595串口寄存器芯片(或模块)及相关器件。
要求:
使用74HC595串口寄存器芯片控制8x8LED点阵循环显示大小心形图案,通过串口输入报文来设置大小心形图案各自的显示时长。
报文的格式示例为:B100S300
其中:B100表示显示大的心形图案时长100毫秒;S300表示显示小的心形图案时长300毫秒。显示时间范围在100~999毫秒之间。
具体要求如下:
(1) 程序启动后,8x8LED点阵最外侧四边的LED灯点亮,中间区域LED灯熄灭。
(2) 在串口监视器窗口输入框输入上述格式的报文后,在串口监视器窗口输出解析后相应的报文内容。以报文B100S300为例,串口监视器窗口输出的内容为B-100:S-300。
(3) 8x8LED根据报文的内容连续切换显示大小两个心形图案。以报文B100S300为例,先显示大的心形图案,时长100毫秒,然后显示小的心形图案,时长300毫秒,依次反复,直至输入新的报文数据。
(4) 程序采用C代码编写,不得使用外部库调用。
(5) 未作规定处可自行处理,无明显与事实违背即可。
(6) 程序编写过程中不得打开库例程和其它程序,如发现,实操成绩按照0分处理。
说明:
请考生在考试结束前,按如下要求提交程序文件
(1) 将所有程序放在一个文件夹,并将文件夹命名为:DJKS5_身份证号;
(2) 将程序文件压缩为1个文件,“rar或zip”格式,大小5M以下;
(3) 将程序文件通过“上传附件”按钮进行上传。
参考资料
(1)数组heartB[]和heartS[]分别为大小心形的点阵数据。编程时可参考使用。
byte heartB[] = {0x99,
0x00, 0x00, 0x00, 0x81, 0xC3, 0xE7, 0xFF};
byte heartS[] = {0xFF,
0xDB, 0x81, 0x81, 0xC3, 0xE7, 0xFF, 0xFF};
(2)String类库的成员函数及其功能描述如下:
indexOf(val) ;// 自左向右查找字符val在字符串对象实例中的位置。
substring(from,to); // 从字符串对象实例中截取指定位置的字符串。
toInt(); // 将字符串转换为整数。
(3)Serial类库的成员函数及其功能描述如下:
available(); // 返回UART接收缓冲区中的字节数。
read(); // 从UART接收缓冲区读取数据。
readString(); // 从UART接收缓冲区中读取字符串。