实操任务:姿态传感器控制双直流电机转动
主题:姿态传感器控制双直流电机转动 器件: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());}