0

请帮助我学习

我可以使用下面的代码获得加速度值

    #ifdef OUTPUT_READABLE_REALACCEL
    //display real acceleration, adjusted to remove gravity
    mpu.dmpGetQuaternion(&q, fifoBuffer);
    mpu.dmpGetAccel(&aa, fifoBuffer);
    mpu.dmpGetGravity(&gravity, &q);
    mpu.dmpGetLinearAccel(&aaReal, &aa, &gravity);
    Serial.print("areal\t");
    Serial.print(aaReal.x);
    Serial.print("\t");
    Serial.print(aaReal.y);
    Serial.print("\t");
    Serial.println(aaReal.z);
    #endif

如何使用 MPU 9150 传感器从实际加速度数据中获取重力值。

提前致谢。

4

1 回答 1

0

如果您能说出您正在使用哪些 MPU 库,那就太好了,但我假设您正在使用 Jeff Rowberg 的带有 helper_3dmath 的库。

从您附加的代码中,您可以注意到填充 VectorFloat 的 dmpGetGravity 方法。此数据类包含 x、y、z 参数,这些参数对应于在给定轴上应用的重力(例如,传感器面向天空且在固定位置没有移动,z 参数应显示 16384.0f,其余参数应为 0) . 您还可以根据数据检索归一化数据,该数据基本上是每个参数除以类本身计算的幅度。

结果不一定要准确,具体取决于传感器的校准方式以及您设置的偏移量。

我不确定它是否是您正在寻找的东西,但希望它是。虽然我没有测试它,但我对这些库有一些经验。

于 2016-10-27T18:21:59.130 回答