.. note:: こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。 **参加する理由は?** - **エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。 - **学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。 - **独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。 - **特別割引**:最新製品の独占割引をお楽しみください。 - **祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。 👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう! .. _cpn_mpu6050: MPU6050モジュール =========================== **MPU6050** |img_mpu6050| MPU-6050は、3軸ジャイロスコープと3軸加速度計を組み合わせた6軸の運動追跡デバイスです。 このチップの座標系は以下のように定義されています: MPU6050をテーブルに平らに置き、ラベル面が上になるようにして、その面の左上にドットがあることを確認します。この状態で、チップのZ軸は上方向、X軸は左から右方向、Y軸は後ろから前方向と定義されます。 |img_mpu6050_a| **3軸加速度計** 加速度計は圧電効果の原理に基づいています。この効果は、機械的なストレスを受けた際に特定の材料が電荷を発生させる能力です。 ここで、立方体の箱に小さなボールが入っている状態を想像してください。この箱の壁は圧電結晶でできています。箱を傾けると、ボールは重力の影響で傾斜方向に移動します。ボールが衝突する壁は、微小な圧電電流を生じます。立方体には、対向する3組の壁があり、それぞれX、Y、Z軸に対応しています。壁から発生する電流によって、傾斜方向とその大きさを判断できます。 |img_mpu6050_a2| MPU6050を使って、各座標軸に沿った加速度を検出することができます(静止状態でのZ軸加速度は1G、X軸とY軸は0です)。傾けられたり、無重力/過重状態にある場合、対応する読み取り値が変わります。 計測範囲はプログラムで選択でき、+/-2g、+/-4g、+/-8g、+/-16g(デフォルトは2g)があります。値の範囲は-32768から32767です。 加速度計の読み取り値は、次の式で加速度値に変換されます: Acceleration = (Accelerometer axis raw data / 65536 \* full scale Acceleration range) g 例えば、加速度計のX軸の生データが16384で、範囲が+/-2gの場合: **Acceleration along the X axis = (16384 / 65536 \* 4) g** **=1g** **3軸ジャイロスコープ** ジャイロスコープは、コリオリ加速度の原理に基づいて動作します。ここで、一定の前後運動を持つフォークのような構造があると想像してください。この構造は、圧電結晶で固定されています。この配置を傾けようとすると、結晶は傾斜方向に力を感じます。これは、動いているフォークの慣性の結果です。結晶は、圧電効果によって電流を生成し、この電流が増幅されます。 |img_mpu6050_g| ジャイロスコープも4種類の測定範囲を持っています:+/- 250、+/- 500、+/- 1000、+/- 2000。計算方法は基本的に加速度計と同じです。 角速度を読み取り値に変換する式は次のとおりです: Angular velocity = (Gyroscope axis raw data / 65536 \* full scale Gyroscope range) °/s X軸の例では、加速度計のX軸の生データが16384で、範囲が+/- 250°/sの場合: **Angular velocity along the X axis = (16384 / 65536 \* 500)°/s** **=125°/s** **例** * :ref:`py_mpu6050` (MicroPythonユーザー向け) * :ref:`py_somato_controller` (MicroPythonユーザー向け) * :ref:`py_bubble_level` (MicroPythonユーザー向け) * :ref:`ar_mpu6050` (Arduinoユーザー向け)