5

arduino.cc が提供するこのスケッチを試しました。(私はMPU6050 GY-521 ブレークアウト ボードを持っています。)

私はそれがうまくいくと思います。それは私が何の意味も理解できない奇妙な数字のセットを与えます。それらは生の値であると言います。

それらを意味のある値に変換するにはどうすればよいですか?

出力は次のとおりです。全体が静止している場合でも、変化する値が得られます。これは意味がありますか?では、どのように理解すればよいのでしょうか。

(私が知っているのは、温度値が意味があるということだけです:D)

June 2012
WHO_AM_I : 68, error = 0
PWR_MGMT_2 : 0, error = 0

MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 260, 120, 15572
temperature: 31.047 degrees Celsius
gyro x,y,z : -24, -234, -240,

MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 304, 12, 15608
temperature: 31.000 degrees Celsius
gyro x,y,z : -7, -234, -232,

MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 160, 100, 15716
temperature: 31.000 degrees Celsius
gyro x,y,z : -8, -241, -248,

MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 192, 56, 15712
temperature: 31.000 degrees Celsius
gyro x,y,z : -36, -212, -222,

MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 212, 100, 15440
temperature: 30.906 degrees Celsius
gyro x,y,z : -32, -253, -240,
4

2 に答える 2

11

生の値を意味のある値に変換するには、データシートを確認する必要があります。ジャイロスコープについては、次のようなテーブルを探してください。

ジャイロテーブル

デフォルト値を使用した場合、FS_SELになります0。それが感度設定です。生のジャイロスコープの値を 1 秒あたりの度数に変換するには、それらを 131 で割ります。数値が 1 秒あたり 2 度以下になることがわかります。これは妥当な誤差範囲です。

デフォルトの加速度センサーの感度の場合、 で割ってg (地球によって加えられる力)16,384の値を取得します。x 軸と y 軸で 0.01g、z 軸で 0.95g のオーダーになっています。これは、z 軸が地球に向いている状態でチップが静止している場合の妥当な誤差範囲内です。

于 2012-09-06T22:16:59.313 に答える
0
 mpu.setFullScaleGyroRange(0); //0 = +/- 250 degrees/sec | 1 = +/- 500 degrees/sec | 2 = +/- 1000 degrees/sec | 3 =  +/- 2000 degrees/sec
  mpu.setFullScaleAccelRange(0);  //0 = +/- 2g | 1 = +/- 4g | 2 = +/- 8g | 3 =  +/- 16g 
于 2016-07-29T06:51:59.920 に答える