简答题

课程名称:机器人技术(五级)

题目:主题:按键计数器 器件:ESP32 主控板、按键模块、一位数码管、74HC595 移位寄存器芯片(或模块)及相关器件。以上模块也可以采用分立器件结合面包板进行搭设。 任务要求: 通过点击按键控制一位数码管显示数字在 1~5~1 之间变化,具体要求如下: (1)装置通电启动后,一位数码管保持熄灭,不显示任何内容; (2)第一次点击按键,数码管倒计时依次显示 9、8、7、…、0,间隔时间为 0. 5 秒; (3)倒计时显示完毕,装置进入计数状态,此时数码管显示的数字为 0; (4)每次点击按键,一位数码管显示的数字比先前显示的数字加 1,直至显示的数字为 5; (5)当显示的数字为 5 时,再次点击按键,一位数码管显示的数字比先前显示的数字减 1,直至显示的数字为 1; (6)当显示的数字为 1 时,再次点击按键,一位数码管显示的数字比先前显示的数字加 1。依此循环,一位数码管显示的内容在 1、2、3、4、5、4、3、2、1、2、3...间循环; (7)一位数码管必须使用 74HC595 移位寄存器芯片驱动显示。如采用其他方式,本实操成绩得 0 分; (8)程序采用 Arduino C/C++代码编写,不得使用外部库调用; (9)未作规定处可自行处理,无明显与事实违背即可。 说明:请考生在考试结束前,按照如下要求提交相关文件。 (1)将程序放在一个文件夹中,压缩为 1 个“rar 或 zip”格式文件,并命名为:DJKS5_身份证号,大小 5M 以下; (2)将程序文件通过“上传附件”按钮进行上传; (3)程序编写过程中不得打开其它示例程序,如发现,实操成绩按照 0 分处理。 参考资料: 数组 NUM[] 保存的是 0~9 十六进制形式的数码管显示的段位信息。编程时可参考使用。 // 保存 0~9 byte NUM[] = {0xFC, 0x60, 0xDA, 0xF2, 0x66, 0xB6, 0xBE, 0xE0, 0xFE, 0xF6};

简答题

课程名称:机器人技术(五级)

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