.. note:: こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。 **参加する理由は?** - **エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。 - **学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。 - **独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。 - **特別割引**:最新製品の独占割引をお楽しみください。 - **祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。 👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう! .. _cpn_mpu6050: MPU6050モジュール =================== .. image:: img/mpu6050_pic.png :width: 200 :align: center MPU-6050は、3軸ジャイロスコープと3軸加速度計を組み合わせた6軸のモーションセンサーです。 このデバイスの座標軸は以下のように定義されています: MPU6050を平らなテーブルに置き、ラベルが上を向くように配置します。この面の左上隅にドットがある場合、上向きがチップのZ軸、左から右への方向がX軸、それに続いて前から後ろへの方向がY軸となります。 .. image:: img/mpu223.png **3軸加速度計** 加速度計はピエゾ電気効果に基づいています。この効果は、力がかかったときに特定の材料が電荷を生成する能力です。 具体的には、上図のような立方体の箱を想像してください。この箱の中には小さなボールがあり、箱の壁はピエゾ電気結晶でできています。箱を傾けると、ボールは重力によって傾斜方向に動き、壁に衝突する際に微細なピエゾ電流が発生します。この立方体には、X、Y、Z軸それぞれに対応する対向壁が3組あります。壁から発生する電流により、傾きの方向とその大きさを特定できます。 .. image:: img/mpu224.png MPU6050を使って各座標軸の加速度を検出することができる(デスクトップ静止状態ではZ軸加速度が1重力単位、X軸とY軸が0)。傾いたり、無重量/過重量状態になると、対応する数値が変化する。 プログラムで選択できる測定レンジは4種類: 各精度に対応する+/-2g、+/-4g、+/-8g、+/-16g(デフォルトは2g)。値の範囲は-32768~32767。 加速度センサの読み取り値は、読み取り範囲から測定範囲にマッピングすることで加速度値に変換されます。 加速度 = (加速度軸の生データ / 65536 * フルスケール加速度レンジ) g X軸を例にとると、加速度センサーのX軸の生データが16384で、範囲が+/-2gとして選択されている場合: **X軸方向の加速度=(16384 / 65536 * 4)g** **=1g** **3軸ジャイロスコープ** ジャイロスコープの原理はコリオリ加速度である。フォークのような構造物があり、それが常に前後に動いていると想像してほしい。これはピエゾ素子で固定されている。この配置を傾けようとすると、クリスタルは傾いた方向に力を受ける。これは、動くフォークの慣性の結果として起こる。こうして結晶はピエゾ電気効果に応じた電流を発生させ、この電流は増幅される。 .. image:: img/mpu225.png また、ジャイロスコープには4種類の測定レンジがある: +/- 250, +/- 500, +/- 1000, +/- 2000. 計算方法と加速度は基本的に同じです。 読み取り値を角速度に変換する式は以下の通りです: 角速度 = (Gyroscope axis raw data / 65536 * full scale Gyroscope range) °/s X軸、例えば加速度センサーのX軸の生データは16384で、範囲は+/- 250°/秒です: **X軸の角速度 = (16384 / 65536 * 500)°/s =125°/s** .. **例** .. * :ref:`2.2.9_c` (Cプロジェクト) .. * :ref:`2.2.9_py` (Pythonプロジェクト)