实操任务:姿态传感器控制直流电机转动
主题
姿态传感器控制直流电机转动
通过MPU6050姿态传感器控制直流电机的转动速度和方向。
器件
ESP32主控板、MPU6050姿态传感器模块1个、直流电机1个、直流电机驱动器1个、按键模块1个及相关器件,以上部件均可采用分立器件。
任务要求
-
通过按键开关控制整个装置的运行,当第一次按下按键时,装置启动,板载LED灯点亮;当再次按下按键时,装置停止运行,板载LED灯熄灭,依此反复。
-
通过MPU6050姿态传感器的姿态角控制直流电机的转动,考生自行决定采用俯仰角、偏航角、滚转角其中之一来控制直流电机的转动。并将当前所采用姿态角的数值和电机转速的PWM值输出到串口监视器。
-
当姿态角的角度值为-10~10度时,直流电机处于停止状态。
-
当姿态角的角度值为-90~-10度时,直流电机正转,直流电机的转速随着倾角的增大而增大,随着倾角的减小而减慢。
-
当姿态角的角度值为10~90度时,直流电机反转,直流电机的转速随着倾角的增大而增大,随着倾角的减小而减慢。
-
程序采用C代码编写。MPU6050姿态传感器的数据读取可以调用类库。直流电机的控制不得调用类库。
-
未作规定处可自行处理,无明显与事实违背即可。
-
编写程序文件命名规则为:DJKS6_身份证号,考试完毕拷贝上交备案。
-
程序编写过程中不得打开库例程和其它程序,如发现,实操成绩按照0分处理。
参考资料
教材所使用类库MPU6050_tockn-1.5.2的例程如下,供参考。
#include <MPU6050_tockn.h>
#include <Wire.h>
MPU6050 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());
}
评分标准
实操题总分100分,由两部分组成,分别为:电路搭设和功能呈现。其中电路搭设分值20分,功能呈现80分。
子题 填空题
请按上述要求完成实操任务
正在加载题目数据…
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析