MPU6050は、3軸の加速度計と3軸のジャイロスコープを1つのパッケージに組み合わせた汎用性が高く手頃なセンサーです。 I2Cインターフェイスを介して通信し、モーショントラッキング、ロボットのバランス、およびジェスチャーベースのコントロールに最適です。このチュートリアルでは、MPU6050をArduinoとインターフェイスする方法を示します。
あなたが必要とするもの
- MPU6050モジュール
- Arduino委員会(例:UNO、MEGA、NANO)
- ブレッドボード
- ジャンパーワイヤ
- Arduino IDEがインストールされたコンピューター
ステップ1:MPU6050をArduinoに配線します
MPU6050はI2Cプロトコルを使用しているため、次の2つのデータラインのみが必要です。 SDA (データ)と SCL (クロック)。典型的なつながりは次のとおりです。
MPU6050ピン | Arduino UNO PIN |
---|---|
VCC | 5V |
GND | GND |
SDA | A4(SDA) |
SCL | A5(SCL) |
注記: 別のモデルを使用している場合は、特定のArduinoボードのI2Cピンアウトを確認してください。
ステップ2:MPU6050ライブラリをインストールします
MPU6050とのインターフェースを容易にするために、「MPU6050」ライブラリを使用します。
- Arduino IDEを開きます。
- 行きます スケッチ > ライブラリを含めます > ライブラリを管理します.
- 図書館のマネージャーでは、「電子猫によるMPU6050」を検索します。
- ライブラリを選択してクリックします インストール.
ステップ3:コードをアップロードします
MPU6050の加速度計とジャイロスコープデータを読むための基本的な例を次に示します。
#include <Wire.h>
#include <MPU6050.h>
MPU6050 mpu;
void setup() {
Serial.begin(9600);
Wire.begin();
Serial.println("Initializing MPU6050...");
if (!mpu.begin()) {
Serial.println("Failed to find MPU6050 sensor!");
while (1) {
delay(10);
}
}
Serial.println("MPU6050 Initialized.");
}
void loop() {
mpu.update();
Serial.print("Accel X: ");
Serial.print(mpu.getAccX());
Serial.print(" | Accel Y: ");
Serial.print(mpu.getAccY());
Serial.print(" | Accel Z: ");
Serial.println(mpu.getAccZ());
Serial.print("Gyro X: ");
Serial.print(mpu.getGyroX());
Serial.print(" | Gyro Y: ");
Serial.print(mpu.getGyroY());
Serial.print(" | Gyro Z: ");
Serial.println(mpu.getGyroZ());
delay(500); // Update every 500ms
}
ステップ4:セットアップをテストします
- USBケーブルを使用して、Arduinoをコンピューターに接続します。
- Arduino IDEを開き、正しいものを選択します ボード そして ポート から ツール メニュー。
- クリックしてコードをアップロードします アップロード ボタン。
- シリアルモニターを開きます(ツール > シリアルモニター)そして、ボーレートをに設定します
9600
. - ライブアクセルメーターとジャイロスコープの測定値が表示されている必要があります。
データの理解
- 加速度計(アクセルX、Y、Z): 3つの軸で線形加速度を測定します。
- ジャイロスコープ(ジャイロX、Y、Z): 3つの軸の周りの角速度(回転速度)を測定します。
トラブルシューティング
- センサーは検出されていません: 配線を再確認し、I2Cラインが正しく接続されていることを確認します。
- シリアルモニターに出力がありません: ボーレートがコード設定(9600)と一致することを確認します。
- 誤った測定値: ドリフトを防ぐために、初期化中にセンサーレベルを維持します。
MPU6050のアプリケーション
- ロボットのバランス
- ジェスチャー認識
- VR/ARのモーショントラッキング
- フィットネス追跡デバイス
結論
おめでとう! MPU6050にArduinoをインターフェースし、リアルタイムモーションデータを読み取ることに成功しました。このセンサーは非常に用途が広く、無数のプロジェクトで使用できます。 MPU6050を次のモーションベースのプロジェクトに統合して、その可能性を解き放ちます!