image

编辑人: 舍溪插画

calendar2025-05-10

message4

visits679

2020年09月机器人四级实操答案及解析

一、实操题

1、主题:红外遥控迎宾小人
器件:电位器模块1个,红外遥控器和红外接收模块各1,舵机1个、主控板及相关器 件(也可使用分立电子元器件结合面包板搭建)。
要求:
1、通过红外遥控,控制舵机执行相应的动作。
2、按红外遥控器1键,舵机旋转至0度位置后停止。
3、按红外遥控器2键,舵机旋转至180度位置后停止。
4、按红外遥控器3键,舵机在0-180度间连续摆动。
5、当舵机连续左右摆动时,旋转电位器,调整摆动的速度。
6、当舵机连续左右摆动时,按红外遥控器4键,舵机停止摆动。
7、控制程序采用C/C++代码编写,不得使用图形化软件编写。
8、未作规定处可自行处理,无明显与事实违背即可。
9、考试结束,考生将代码压缩上传,程序文件命名规则为:DJKS4_身份证号。
10、程序编写过程中不得打开库例程和其它程序,如发现,实操成绩按照0分处 理。

参考答案:

解析:【喵呜刷题小喵解析】:本题要求使用红外遥控控制舵机执行相应的动作,并可以通过电位器调整摆动的速度。由于题目中并未明确说明使用哪种开发板,因此我们可以假设使用Arduino开发板。首先,我们需要引入Servo库,用于控制舵机。然后,我们定义一个Servo对象myservo,用于控制舵机。在setup()函数中,我们将舵机连接到开发板的第9号引脚。在loop()函数中,我们检查是否有串口数据输入。如果有,我们读取输入的数据,并根据不同的命令执行相应的操作。当接收到命令'1'时,我们将舵机旋转至0度位置。当接收到命令'2'时,我们将舵机旋转至180度位置。当接收到命令'3'时,我们在0-180度之间连续摆动舵机。当接收到命令'4'时,我们停止舵机的摆动,并保持当前位置。此外,我们还需要处理电位器的输入。在serialEvent()函数中,我们检查是否有串口数据输入。如果有,我们读取输入的数据,并将其转换为电位器的速度值。最后,我们需要将代码压缩上传,程序文件命名规则为DJKS4_身份证号。在程序编写过程中,不得打开库例程和其它程序,否则实操成绩按照0分处理。

2、说明:舵机类库及常用成员函数如下,供参考。红外遥控提供示例供参考。
舵机类库:
头文件:Servo.h
类库对象:Servo
成员函数:attach(Pin)//指定引脚的关联引脚
write(angel)//功能是让舵机转动到指定的角度。
红外遥控例程:

参考答案:

解析:【喵呜刷题小喵解析】:本题要求使用舵机类库,根据提供的类库及成员函数,完成让舵机在两个角度间循环转动的示例代码。首先,我们需要包含头文件Servo.h,并在代码开始部分创建一个Servo对象,如myservo。然后,在setup()函数中,使用myservo.attach(Pin)函数将舵机关联到指定的引脚,这里假设为数字引脚9。在loop()函数中,使用myservo.write(angel)函数让舵机转动到指定的角度,这里我们让舵机在90度和0度之间循环转动。每次转动后,使用delay()函数延时1秒,以便观察舵机的转动效果。注意,以上代码仅为示例,实际使用时需要根据具体的硬件环境和需求进行调整。

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

创作类型:
原创

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

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