实操任务:姿态传感器数据可视化显示
主题
姿态传感器数据可视化显示
器件
ESP32主控板、MPU6050姿态传感器模块、8x8点阵、74HC595移位寄存器模块或芯片及相关附件。
任务要求
将MPU6050姿态传感器的俯仰角数值,映射到8x8点阵中间竖向两列,形成可视化的效果。具体任务要求如下:
-
程序启动后,8x8点阵处于熄灭状态。
-
用手单击触碰传感器T0引脚,8x8点阵最外侧四周的LED灯点亮,中间区域LED灯熄灭。
-
再次用手单击触碰传感器T0引脚,8x8点阵最外侧四周的LED灯熄灭,程序进入姿态数据可视化状态。
-
当MPU6050姿态传感器处于水平位置时,8x8点阵中间位置的LED灯点亮,如图1所示。
-
沿X轴转动MPU6050模块,随着姿态角数字的减小,8x8点阵中间竖向两列LED自中间向上点亮。当俯仰角为-90度时,8x8点阵中间竖向两列LED自中间至上方边缘的LED灯均点亮,如图2所示。
-
沿X轴转动MPU6050模块,随着姿态角数字的增大,8x8点阵中间竖向两列LED自中间向下点亮。当俯仰角为90度时,8x8点阵中间竖向两列LED自中间至下方边缘的LED灯均点亮,如图3所示。
-
程序采用Arduino C/C++代码编写,不得使用外部库调用;
-
未作规定处可自行处理,无明显与事实违背即可。

说明
请考生在考试结束前,按照如下要求提交相关文件。
-
将程序放在一个文件夹中,压缩为1个“rar或zip”格式文件,并命名为:DJKS6_身份证号,大小5M以下;
-
将程序文件通过“上传附件”按钮进行上传;
-
程序编写过程中不得打开其它示例程序,如发现,实操成绩按照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());
}
评分标准
(1)实现程序启动后,8x8点阵处于熄灭状态;(10分)
(2)实现用手单击触碰传感器T0引脚,8x8点阵最外侧四周的LED灯点亮,中间区域LED灯熄灭;(10分)
(3)实现再次用手单击触碰传感器T0引脚,8x8点阵最外侧四周的LED灯熄灭;(10分)
(4)实现当姿态传感器处于水平位置时,8x8点阵中间位置的LED灯点亮;(10分)
(5)实现沿X轴转动MPU6050模块,随着姿态角数字的减小,8x8点阵中间竖向两列LED自中间向上点亮;(10分)
(6)实现当俯仰角为-90度时,8x8点阵中间竖向两列LED自中间至上方边缘的LED灯均点亮;(10分)
(7)沿X轴转动MPU6050模块,随着姿态角数字的增大,8x8点阵中间竖向两列LED自中间向下点亮;(10分)
(8)实现当俯仰角为90度时,8x8点阵中间竖向两列LED自中间至下方边缘的LED灯均点亮。(10分)
子题 填空题
电路搭设
元器件:
(1) 8x8点阵;(2分)
(2) 74HC595移位寄存器模块或芯片;(2分)
(3) MPU6050姿态传感器;(2分)
电路搭设:
(4) 8x8点阵与74HC595移位寄存器模块或芯片正确连接;(4分)
(5) 74HC595移位寄存器模块或芯片与主控板正确连接;(4分)
(6) MPU6050姿态传感器与主控板正确连接。(6分)
子题 填空题
功能实现
(1) 实现程序启动后,8x8点阵处于熄灭状态;(10分)
(2) 实现用手单击触碰传感器T0引脚,8x8点阵最外侧四周的LED灯点亮,中间区域LED灯熄灭;(10分)
(3) 实现再次用手单击触碰传感器T0引脚,8x8点阵最外侧四周的LED灯熄灭;(10分)
(4) 实现当姿态传感器处于水平位置时,8x8点阵中间位置的LED灯点亮;(10分)
(5) 实现沿X轴转动MPU6050模块,随着姿态角数字的减小,8x8点阵中间竖向两列LED自中间向上点亮;(10分)
(6) 实现当俯仰角为-90度时,8x8点阵中间竖向两列LED自中间至上方边缘的LED灯均点亮;(10分)
(7) 沿X轴转动MPU6050模块,随着姿态角数字的增大,8x8点阵中间竖向两列LED自中间向下点亮;(10分)
(8) 实现当俯仰角为90度时,8x8点阵中间竖向两列LED自中间至下方边缘的LED灯均点亮。(10分)