2021年9月五级实操

kouzeping 2024-03-23 20:06:38

青少年机器人技术等级考试实际操作试卷(五级)

分数: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接收缓冲区中读取字符串。