用料
示例
简介
本示例将演示使用 DMP6 从 MPU6050 获取数据。 MPU6050 配备了数字运动处理器 (DMP),用于处理运动算法的计算,如转换为三轴偏航/俯仰/滚动平面、转换为四元数或转换为欧拉角。
本指南将同样适用于这两个示例:
- MPU6050_DMP6.ino
- MPU6050_DMP6_using_DMP_V6v12.ino
这两个示例的区别在于所使用的 DMP 库。 MPU6050_DMP6.ino 的 DMP 库版本为 2.0。 对于 MPU6050_DMP6_using_DMP_V6v12.ino,DMP 库版本为 6.12。
实现流程
如下图所示,将 MPU6050 连接到电路板的 I2C_SDA 和 I2C_SCL。
在 "文件"->"示例"->"AmebaWire"->"MPU6050"->"MPU6050_DMP6 "或 "MPU6050_DMP6_using_DMP_V6v12 "中打开示例:
编译并运行示例。 在串行监视器中,应该可以看到开始 DMP 编程的提示。 在串行监视器上输入任意字符,然后按 "Enter "键。
您应该可以看到 DMP 计算出的输出值。
您可以选择取消其中一个选项的注释,以查看要打印输出的数据类型。 选项包括 OUTPUT_READABLE_QUATERNION 、OUTPUT_READABLE_EULER 、OUTPUT_READABLE_YAWPITCHROLL 、OUTPUT_READABLE_REALACCEL 、OUTPUT_READABLE_WORLDACCEL 和 OUTPUT_TEAPOT 。 本例中使用的选项是 OUTPUT_READABLE_YAWPITCHROLL 。
ElectronicCats 的原始示例使用的是中断引脚。 使用中断引脚会导致 MPU6050 挂起,因此本示例只有在不使用中断引脚的情况下才能可靠运行。
代码参考
[1] ElectronicCats 的 MPU6050 库和示例:
https://github.com/ElectronicCats/mpu6050 |