image

编辑人: 流年絮语

calendar2025-07-03

message2

visits614

2020年12月机器人六级实操答案及解析

一、实操题

1、主题: 按键控制直流电机转动
器件:ESP32主控、码盘、光电对管、SSD1306OLED显示屏、直流电机驱 动模块、直流电机、按键等相关元器件。
要求:
1、当按键按下并释放后,直流电机开始运动。
2、通过码盘和光电对管模块,采用中断对直流电机的旋转进行控制。
3、当第一次按下按键并释放后,直流马达旋转1圈后停止,SSD1306 OLED显示屏实时显示光电对管读取的码盘中断累加数值。
4、当第二次按下按键并释放后,直流马达反向旋转1圈后停止, SSD1306OLED显示屏实时显示光电对管读取的码盘中断累加数值。
5、依次类推,奇数次点击按键,直流马达正向旋转,偶数次点击,马 达反向旋转。
6、当马达停止时,显示屏上码盘的读数应为所采用码盘线数(精度) 允许误差为±5%以内。
7、马达、码盘、光电对管模块均应有效固定。
8、控制程序采用C/C++代码编写。
9、SSD1306OLED显示屏可使用教材对应的库其它程序编写均不得使用 外部库调用。
10、为了方便识别马达旋转,可以将车轮或纸片固定在马达转轴上。
11、未作规定处可自行处理,无明显与事实违背即可。
12、编写程序文件命名规则为:DJKS6_身份证号,考试完毕拷贝上交备 案。
13、程序编写过程中不得打开库例程和其它程序,如发现,实操成绩按 照0分处理。

参考答案:

解析:【喵呜刷题小喵解析】:这是一个涉及到硬件控制的编程题,涉及到ESP32微控制器、按键、直流电机、码盘、光电对管模块以及SSD1306 OLED显示屏等设备。主要任务是通过按键控制直流电机的正反转,并通过光电对管读取码盘的中断累加数值在OLED显示屏上显示。在这个程序中,我们使用了FreeRTOS操作系统,定义了一个名为motor_task的任务来处理电机的控制逻辑。电机控制的主要逻辑是:当按键被按下并释放后,电机开始运动,每次按键按下,电机正反转的次数根据按键按下的次数决定,奇数次点击按键,直流马达正向旋转,偶数次点击,马达反向旋转。当电机停止时,显示屏上码盘的读数应为所采用码盘线数(精度)允许误差为±5%以内。为了实现这些功能,我们需要处理按键的中断,光电对管的中断,以及电机控制。按键的中断用来触发电机的正反转,光电对管的中断用来读取码盘的数值,电机控制部分则是控制电机的正反转以及显示码盘的数值。在这个程序中,我们使用了ESP32的GPIO中断功能来处理按键的中断,使用了ESP32的定时器中断功能来处理光电对管的中断,使用了SSD1306 OLED显示屏的库函数来显示码盘的数值。需要注意的是,这个程序只是一个示例程序,具体的实现可能会因为硬件设备的不同而有所差异。在实际应用中,需要根据具体的硬件设备以及需求来进行修改和优化。

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

创作类型:
原创

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

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