当前位置:   article > 正文

Arduino提高篇(十七)MPU6050姿态解算_arduino mpu6050 姿态

arduino mpu6050 姿态

对于大多数MPU6050的应用来说,获取到的原始数据并没有多大用处,我们需要对原始数据进行姿态融合解算,最终得到姿态数据,也就是三个欧拉角:航向角(yaw)、横滚角(roll)和俯仰角(pitch)。

MPU6050内部自带数字运动处理器(DMP)硬件加速引擎,配合运动驱动库直接输出四元数,进而很方便的计算出欧拉角,大大降低了主控MCU的负担。本篇使用MPU6050的驱动库来获取姿态数据。

1. MPU6050驱动库安装
MPU6050的驱动库有很多,我们可以在IDE中单击「项目」—「加载库」—「管理库」,在搜索栏输入"6050",可以看到不同的驱动库。


本篇我们使用的由国外大牛Jeff Rowberg开发的库并没有在列表中,需要下载后导入到Arduino。点击跳转到Github下载。

下载到的库文件其实是多种设备的IIC驱动库,我们这里只需要两个文件夹下的文件。解压后,进入"Arduino"文件夹,里面的"I2Cdev"和"MPU6050"就是我们需要的文件。

找到Arduino的libraries文件路径,Windows下路径为"C:\Users\Tony\Documents\Arduino\libraries",修改“Tony”为你的电脑用户名。我们拷贝这两个文件夹到该路径下,至此库文件安装完成。

2. 实验材料
Uno R3开发板
配套USB数据线
面包板及配套连接线
MPU6050传感器模块
3. 实验步骤
1. 根据原理图搭建电路图。
MPU6050传感器模块的VCC、GND分别连接开发板的3.3V、GND,传感器的SDA、SCL引脚连接开发板A4、A5引脚。

实验原理图如下图所示:

实物连接图如下图所示:

2. 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。
  1. /*
  2. DMP
  3. MPU6050姿态解算
  4. */
  5. #include "I2Cdev.h"
  6. #include "MPU6050_6Axis_MotionApps20.h"
  7. MPU6050 mpu;
  8. uint8_t fifoBuffer[64];
  9. Quaternion q;
  10. VectorFloat gravity;
  11. float ypr[3];
  12. void setup()
  13. {
  14. Serial.begin(115200);
  15. mpu.initialize();
  16. mpu.dmpInitialize();
  17. mpu.CalibrateAccel(6);
  18. mpu.CalibrateGyro(6);
  19. mpu.PrintActiveOffsets();
  20. mpu.setDMPEnabled(true);
  21. }
  22. void loop()
  23. {
  24. if (mpu.dmpGetCurrentFIFOPacket(fifoBuffer))
  25. {
  26. mpu.dmpGetQuaternion(&q, fifoBuffer);
  27. mpu.dmpGetGravity(&gravity, &q);
  28. mpu.dmpGetYawPitchRoll(ypr, &q, &gravity);
  29. Serial.print("ypr\t");
  30. Serial.print(ypr[0] * 180 / M_PI);
  31. Serial.print("\t");
  32. Serial.print(ypr[1] * 180 / M_PI);
  33. Serial.print("\t");
  34. Serial.println(ypr[2] * 180 / M_PI);
  35. }
  36. }
3. 连接开发板,设置好对应端口号和开发板类型,进行程序下载。

4. 实验现象

打开串口监视器,波特率设置成与程序中相一致的115200。监视器中输出三个欧拉角数据,移动MPU6050,数据发生变化。

Arduino学习交流群:672088578
更多内容,欢迎关注我的公众号。 微信扫一扫下方二维码即可关注:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/404194?site
推荐阅读
相关标签
  

闽ICP备14008679号