None

主题: 按键控制直流电机转动

器件: 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 个文件;

  ③将程序文件通过“上传附件” 按钮进行上传。


赣ICP备20007335号-2