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 ライブラリを使用しているかがわかればそれは素晴らしいことですが、helper_3dmath で Jeff Rowberg のライブラリを使用していると思います。

添付したコードから、VectorFloat を設定する dmpGetGravity メソッドに気付くことができます。このデータ クラスには、指定された軸に適用される重力に対応する x、y、z パラメーターが含まれます (たとえば、センサーが固定位置で移動せずに空に面している場合、z パラメーターは 16384.0f を示し、残りは想定される 0 を示す必要があります)。 . データに基づいて、クラス自体によって計算された大きさで基本的にすべてのパラメーターを除算した正規化されたデータを取得することもできます。

センサーのキャリブレーション方法や設定したオフセットの近さによっては、結果が正確である必要はありません。

それがあなたが探しているものかどうかはわかりませんが、そうであることを願っています。私はそれをテストしませんでしたが、これらのライブラリについてはある程度の経験があります。

于 2016-10-27T18:21:59.130 に答える