主题: 按键控制直流电机转动
器件: ESP32 主控、 码盘、 光电对管、 SSD1306 OLED 显示屏、 直流电机驱动模块、 直流电机、 按键等相关元器件。
要求:
(1) 当按键按下并释放后, 直流电机开始运动。
(2) 通过码盘和光电对管模块, 采用中断对直流电机的旋转进行控制。
(3) 当第一次按下按键并释放后, 直流马达旋转 1 圈后停止, SSD1306 OLED 显示屏实时显示光电对管读取的码盘中断累加数值。
(4) 当第二次按下按键并释放后, 直流马达反向旋转 1 圈后停止, SSD1306 OLED 显示屏实时显示光电对管读取的码盘中断累加数值。
(5) 依次类推, 奇数次点击按键, 直流马达正向旋转, 偶数次点击, 马达反向旋转。
(6) 当马达停止时, 显示屏上码盘的读数应为所采用码盘线数(精度) 允许误差为±5%以内。
(7) 马达、 码盘、 光电对管模块均应有效固定。
(8) 控制程序采用 C/C++代码编写。
(9) SSD1306 OLED 显示屏可使用教材对应的库其它程序编写均不得使用外部库调用。
(10) 为了方便识别马达旋转, 可以将车轮或纸片固定在马达转轴上。
(11) 未作规定处可自行处理, 无明显与事实违背即可。
(12) 程序编写过程中不得打开库例程和其它程序, 如发现, 实操成绩按照 0 分处理。
说明:
(1) Ssd1306Console 类库头文件和相关类库函数如下, 供参考。
①头文件: ssd1306.h ssd1306_console.h
②类库对象: Ssd1306Console
③部分成员函数:
ssd1306_128x64_i2c_init();//初始化 SSD1306 显示屏
ssd1306_clearScreen();//清除屏幕
ssd1306_setFixedFont(ssd1306xled_font6x8);//设置显示的文字字体为ssd1306xled_font6x8。
(2) 请考生在考试结束前, 按如下要求提交程序文件:
①将所有程序文件放在一个文件夹, 并将文件夹命名为: DJKS6_身份证号;
②将程序文件压缩为"rar 或 zip"格式, 大小 5M 以下, 1 个文件;
③将程序文件通过“上传附件” 按钮进行上传。