MPU-9250 加速度センサー、ジャイロスコープ、磁力計 コード
このチュートリアルでは、加速度計、ジャイロスコープ、磁力計を1つのコンパクトなモジュールに統合したMPU-9250センサーの使い方を探ります。このガイドの終わりまでには、センサーデータを読み取り、その意味をプロジェクトに解釈できるようになります。このセンサーは、ロボティクスやドローンのようなアプリケーションに特に役立ち、向きや動きの追跡が重要です。設定やコードに関する追加の説明については、動画を参照できます(動画の00:20にて)。
ハードウェアの説明
MPU-9250モジュールは、加速度計、ジャイロスコープ、磁力計の3つのセンサーを統合しています。加速度計は加速度を測定し、速度と向きを判断することができます。ジャイロスコープは角速度を提供し、時間の経過に伴う向きの変化を理解するのに役立ちます。最後に、磁力計はコンパスとして機能し、ナビゲーションに役立つ磁場データを提供します。
このセンサーの組み合わせは、ドローンやスマートフォンなど、精密な動きの追跡が必要なアプリケーションで特に有益です。MPU-9250はI2CまたはSPIを介して通信を行い、異なるマイクロコントローラーのセットアップに対して柔軟性を持っています。
データシートの詳細
| 製造者 | インベンセンス |
|---|---|
| 部品番号 | MPU-9250 |
| 論理/入出力電圧 | 1.8 V (入出力), 3.3 V (供給) |
| 供給電圧 | 2.4 - 3.6 V |
| 出力電流(チャネルごと) | 3.2 mA(通常動作) |
| ピーク電流(チャネルごと) | 19.8 mA(最大) |
| PWM周波数ガイダンス | N/A |
| 入力ロジックしきい値 | 0.3 * VDD(低)、0.7 * VDD(高) |
| 電圧降下 / RDS(オン)/ 飽和 | N/A |
| 熱的限界 | -40から85 °C |
| パッケージ | QFN |
| ノート / バリアント | 内部電圧レギュレーターを含む |
- モジュールが損傷しないように、適切な電圧供給(2.4 - 3.6 V)を確保してください。
- ブレイクアウトボードにすでに含まれていない場合は、SDAおよびSCLラインにプルアップ抵抗を使用してください。
- I2Cアドレス(デフォルトは0x68)を確認し、代替アドレスに応じてADOピンを調整してください。
- 接続の安定性を確認して、誤った読み取りを防ぎます。
- センサーを定期的にキャリブレーションして、正確な測定を行ってください。
配線手順


MPU-9250をArduinoに接続するには、まずMPU-9250のVCCピンをArduinoの5Vピンに接続します。このモジュールは内部レギュレーターを備えているため、5Vでの電源供給は安全です。次に、GNDピンをArduinoのグラウンド(GND)に接続します。データ通信のために、SDAピンをArduinoのA4ピンに、SCLピンをA5ピンに接続します。この構成は多くのArduinoボードで標準的です。
Arduino Megaを使用している場合、SDAおよびSCLピンはそれぞれピン20および21にあります。接続が確実であることを確認して、通信エラーを避けてください。MPU-9250のI2Cアドレスを変更する必要がある場合は、ADOピンを5Vに接続して0x69に設定します。切断すると0x68に戻ります。
コード例と解説
Arduinoのスケッチでは、まずMPU9250ライブラリをインクルードし、センサーのインスタンスを作成します。
#include "MPU9250.h"
MPU9250 IMU(Wire,0x68);
コードはセンサーを初期化し、通信を開始します。setup()機能:
void setup() {
Serial.begin(115200);
status = IMU.begin();
if (status < 0) {
Serial.println("IMU initialization unsuccessful");
while(1) {}
}
}
内でloop()機能として、センサーデータを継続的に読み取り、印刷します:
void loop() {
IMU.readSensor();
Serial.print("AccelX: ");
Serial.print(IMU.getAccelX_mss(),6);
// More print statements for other axes
}
このセクションでは、加速度センサー、ジャイロスコープ、磁力計の値を読み取り、それらをシリアルモニターに表示します。完全な実装のために、記事の下にロードされたコード全体を確認してください。
デモンストレーション / 期待すること
コードを実行すると、センサー値がシリアルモニターでリアルタイムに更新されるのが見えるはずです。加速度計の値はセンサーを動かすと変動し、ジャイロスコープの値は回転速度を示します。磁力計は三軸の磁場強度を提供し、方向を決定するのに利用できます。浮動小数点入力には注意が必要です。正確な読み取り値を得られない可能性があるためです(動画の12:30参照)。
章
- イントロダクション (00:00)
- ハードウェアの解説 (01:30)
- 配線指示 (04:00)
- コード例とウォークスルー (06:00)
- デモンストレーション (10:00)
リソースと参考文献
-
外部GitHubからMPU-9250ライブラリを取得してください。github.com
-
外部MPU-9250 レジスタマップinvensense.com
-
外部MPU-9250のデータシートinvensense.com
ファイル📁
ファイルは利用できません。