实操任务:姿态传感器控制双直流电机转动
主题
姿态传感器控制双直流电机转动
器件
ESP32主控1块、MPU6050姿态传感器模块1个、直流电机2个(分别为电机A和电机B)、直流电机驱动器及相关器件,以上模块也可以采用分立器件结合面包板进行搭建。
任务要求
获取MPU6050姿态传感器的姿态角,使用俯仰角和滚转角控制两个直流电机的转速、转向和启停。具体要求如下:
-
将当前姿态传感器的俯仰角和滚转角分别输出到串口监视器;
-
当俯仰角的角度值位于-10~10度间时,直流电机处于停止状态;
-
当俯仰角的角度值位于-80~-10度间时,直流电机正转,直流电机的转速随着倾角的增大而增大,随着倾角的减小而减慢;
-
当俯仰角的角度值位于10~80度间时,直流电机反转,直流电机的转速随着倾角的增大而增大,随着倾角的减小而减慢;
-
当滚转角的角度值位于-10~10度间时,直流电机启停不做变化;
-
当滚转角的角度值小于-10度时,电机A停止转动,电机B保持原有状态不变;
-
当滚转角的角度值大于10度时,电机B停止转动,电机A保持原有状态不变;
-
程序采用Arduino C/C++代码编写;
-
MPU6050姿态传感器的数据读取可以调用类库。直流电机的控制不得调用类库;
-
程序编写过程中不得打开库例程和其它程序,如发现,实操成绩按照0分处理;
-
未作规定处可自行处理,无明显与事实违背即可。
说明
请考生在考试结束前,按照如下要求提交相关文件:
-
将程序放在一个文件夹中,并将文件夹命名为:DJKS6_身份证号;
-
将程序文件夹压缩为1个“rar或zip”格式文件,大小5M以下;
-
将程序文件通过“上传附件”按钮进行上传。
参考资料
教材所使用类库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());
} 子题 填空题
请按上述要求完成实操任务
正在加载题目数据…
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析