2025年06月青少年机器人技术等级考试实际操作试卷(六级)
一、实际操作(共1题,共100分)
1) 主题:姿态传感器交互步进电机左右摆动
器件:ESP32主控、MPU6050模块、按钮模块、步进电机驱动模块、步进电机。以上模块也可以采用分立器件结合面包板进行搭建。
任务要求:
步进电机自中间位置左右循环摆动,摆动的角度通过MPU6050模块的俯仰角或滚转角控制。当MPU6050模块处理水平位置时,单侧摆动角度为0度,步进电机处理静止状态;当MPU6050模块处于垂直位置时,单侧摆动角度为180度。具体任务要求如下:
1.装置通电启动后,步进电机处于静止状态。
2.点击按键,步进电机开始自检。自检方式为:步进电机顺时针转动90度后停止,然后逆时针旋转180度后停止,再顺时针旋转90度回到初始位置后停止。自检完毕,装置进入工作状态。
3.进入工作状态后,步进电机随着MPU6050模块和转动开始左右循环摆动。
4.当MPU6050处于水平位置时,步进电机处于静止状态,此时摆动角度为0度。
5.当X轴或Y轴转动MPU6050模块,当模块处于45度位置时,步进电机单侧摆动角度为90度;当模块处于垂直(90度)位置时,步进电机单侧摆动角度为180度。
6.步进电机的转动采用梯形加减速控制。
7.程序采用Arduino C/C++代码编写。
8.未作规定处可自行处理,无明显与事实违背即可。
9.编写程序文件命名规则为:DJKS6_身份证号,考试完毕拷贝上交备案。
10.程序编写过程中不得打开库例程和其它程序,如发现,实操成绩按照0分处理。

说明
1、AccelStepper类库头文件和相关类库函数如下,供参考。
头文件:AccelStepper.h
类库对象:AccelStepper(mode, pin1, pin2, pin3, pin4)
成员函数:
    setAcceleration(val); //设置步进电机转动时的加速度
    setMaxSpeed(val); //设置步进电机转动的最大允许速度
    setSpeed(val); 设置步进电机恒定转动时的速度值
    runSpeed();  启动步进电机以设定的速度值恒定转动
    currentPosition();  返回当前的位置值
    moveTo(val);  设置步进电机运转的目标位置
    run();  启动步进电机按照设定的加速度和最大速度运转
    setCurrentPosition(val);  设置当前位置为指定值
    distanceToGo(val);  返回当前位置到目标位置之前的脉冲值
2、教材所使用类库MPU6050_tockn-1.5.2的例程如下,供参考。

#include <MPU6050_tokcn.h>
#include <Wire.h>

MPU6005 mpu6050(Wire);

void setup() {
  Serial.begin(9600);
  Wire.begin();
  mpu6050.begin();
  mpu6050.calcGyroOffsets(true);
}

void loop() {
  mpu6050.update();
  Serial.print("angleX: ");
  Serial.print(mpu6050.getAngleX());
  Serial.print("\tangleY: ");
  Serial.print(mpu6050.getAngleY());
  Serial.print("\tangleZ: ");
  Serial.println(mpu6050.getAngleZ());
}
查看答案
增值服务权益

1. 试题参考答案和解析查看;
2. 试卷模拟测试;
3. 随机组题测试;
4. 试卷PDF文件下载;
5. 赠送等值学豆;

  订阅  
学员服务
教研服务

小鹏STEM教研服务系统是面向教师的一站式教研、教学和知识管理系统。
订阅服务后,所有题目均可无限制查看和服务。

  详情