测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A22927. 主题:姿态传感器数据可视化显示器件:ESP32主控板、MPU6050姿态传感器模块、8x8点阵、74HC595移位寄存器模块或芯片及相关附件。任务要求:将MPU6050姿态传感器的俯仰角数值,映射到8x8点阵中间竖向两列,形成可视化的效果。具体任务要求如下:(1) 程序启动后,8x8点阵处于熄灭状态。(2) 用手单击触碰传感器T0引脚,8x8点阵最外侧四周的LED灯点亮,中间区域LED灯熄灭。(…

填空题 困难

题目描述

主题:姿态传感器数据可视化显示

器件:ESP32主控板、MPU6050姿态传感器模块、8x8点阵、74HC595移位寄存器模块或芯片及相关附件。

任务要求:将MPU6050姿态传感器的俯仰角数值,映射到8x8点阵中间竖向两列,形成可视化的效果。具体任务要求如下:

(1) 程序启动后,8x8点阵处于熄灭状态。

(2) 用手单击触碰传感器T0引脚,8x8点阵最外侧四周的LED灯点亮,中间区域LED灯熄灭。

(3) 再次用手单击触碰传感器T0引脚,8x8点阵最外侧四周的LED灯熄灭,程序进入姿态数据可视化状态。

(4) 当MPU6050姿态传感器处于水平位置时,8x8点阵中间位置的LED灯点亮,如图1所示。

(5) 沿X轴转动MPU6050模块,随着姿态角数字的减小,8x8点阵中间竖向两列LED自中间向上点亮。当俯仰角为-90度时,8x8点阵中间竖向两列LED自中间至上方边缘的LED灯均点亮,如图2所示。

(6) 沿X轴转动MPU6050模块,随着姿态角数字的增大,8x8点阵中间竖向两列LED自中间向下点亮。当俯仰角为90度时,8x8点阵中间竖向两列LED自中间至下方边缘的LED灯均点亮,如图3所示。

(7) 程序采用Arduino C/C++代码编写,不得使用外部库调用;

(8) 未作规定处可自行处理,无明显与事实违背即可。

说明:请考生在考试结束前,按照如下要求提交相关文件。

(1) 将程序放在一个文件夹中,压缩为1个“rar或zip”格式文件,并命名为:DJKS6_身份证号,大小5M以下;

(2) 将程序文件通过“上传附件”按钮进行上传;

(3) 程序编写过程中不得打开其它示例程序,如发现,实操成绩按照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. 器件及器件连接(20分)

2. 功能实现(80分)

(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分)

上一题 下一题