image

编辑人: 长安花落尽

calendar2025-06-15

message7

visits959

2021年09月机器人六级实操答案及解析

一、实操题

1、主题:电位器控制直流电机转动
器件:ESP32主控、码盘、光电对管、SSD1306
OLED显示屏、按键模块、直流电机驱动模块、直流电机、电位器。
要求:
1、通过按键控制电机启停。当按键模块按下后,电机开始转动;当再次按下按键模块,直流电机转动停止。
2、通过电位器控制电机的转动范围,直流电机在转动范围内正反循环转动。
3、当电位器位于一侧端部时,直流电机的循环转动范围是0°~180°;当电位器位于另一侧端部时,直流电机的循环转动范围是0°~360°;当电位器位于两端中间位置时,直流电机在相应的转动范围内正反循环转动。
4、正反循环转动是指当马达旋转至转动范围的上限或下限时,停止并反向转动。
5、通过码盘和光电对管模块,采用中断控制直流电机的旋转位置。
6、将光电对管读取的码盘读数实时显示到OLED显示屏上。
7、控制程序采用C代码编写。
8、SSD1306 OLED显示屏可使用教材对应的库,其它程序编写均不得使用外部库调用。
9、直流电机、码盘及光电对管需有效固定。
10、为了方便展示效果,可知直流电机轴上安装车轮或其它标志物。
11、未作规定处可自行处理,无明显与事实违背即可。
12、编写程序文件命名规则为:DJKS6_身份证号,考试完毕拷贝上交备案。
说明:Ssd1306Console类库头文件和相关类库函数如下,供参考。

参考答案:

解析:【喵呜刷题小喵解析】本题要求通过按键控制电机启停,通过电位器控制电机的转动范围,并通过码盘和光电对管模块控制直流电机的旋转位置,将读取的码盘读数实时显示到OLED显示屏上。首先,我们需要初始化OLED显示屏,设置按键中断,以及初始化电机驱动模块。在`setup()`函数中,我们初始化OLED显示屏,设置按键中断,并初始化电机驱动模块。同时,我们设置电位器的最小、中间和最大位置对应的电机转动范围。在`loop()`函数中,我们读取电位器的值,根据电位器的值设置电机的速度,并在OLED显示屏上显示电位器的值。当按键被按下时,会触发按键中断,在`handleKeyInterrupt()`函数中,我们检查电机是否正在移动,如果正在移动,则停止电机,否则启动电机。最后,我们定义了一个`ESP32_motor_driver`类,用于控制电机。这个类包含了初始化电机、设置电机速度、检查电机是否正在移动、停止电机和启动电机等方法。同时,还包含了设置电位器最小、中间和最大位置对应的电机转动范围的方法。注意,以上代码仅为示例,并未包含所有细节,如电机驱动模块的具体实现、按键中断的具体实现等,需要根据实际情况进行补充和完善。

喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:2021年09月机器人六级实操答案及解析

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share