ArduinoでMPU6050加速度計とジャイロスコープの使用方法

How to Use the MPU6050 Accelerometer and Gyroscope with Arduino

MPU6050は、3軸の加速度計と3軸のジャイロスコープを1つのパッケージに組み合わせた汎用性が高く手頃なセンサーです。 I2Cインターフェイスを介して通信し、モーショントラッキング、ロボットのバランス、およびジェスチャーベースのコントロールに最適です。このチュートリアルでは、MPU6050をArduinoとインターフェイスする方法を示します。

あなたが必要とするもの

  1. MPU6050モジュール
  2. Arduino委員会(例:UNO、MEGA、NANO)
  3. ブレッドボード
  4. ジャンパーワイヤ
  5. 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」ライブラリを使用します。

  1. Arduino IDEを開きます。
  2. 行きます スケッチ > ライブラリを含めます > ライブラリを管理します.
  3. 図書館のマネージャーでは、「電子猫によるMPU6050」を検索します。
  4. ライブラリを選択してクリックします インストール.

ステップ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:セットアップをテストします

  1. USBケーブルを使用して、Arduinoをコンピューターに接続します。
  2. Arduino IDEを開き、正しいものを選択します ボード そして ポート から ツール メニュー。
  3. クリックしてコードをアップロードします アップロード ボタン。
  4. シリアルモニターを開きます(ツール > シリアルモニター)そして、ボーレートをに設定します 9600.
  5. ライブアクセルメーターとジャイロスコープの測定値が表示されている必要があります。

データの理解

  • 加速度計(アクセルX、Y、Z): 3つの軸で線形加速度を測定します。
  • ジャイロスコープ(ジャイロX、Y、Z): 3つの軸の周りの角速度(回転速度)を測定します。

トラブルシューティング

  • センサーは検出されていません: 配線を再確認し、I2Cラインが正しく接続されていることを確認します。
  • シリアルモニターに出力がありません: ボーレートがコード設定(9600)と一致することを確認します。
  • 誤った測定値: ドリフトを防ぐために、初期化中にセンサーレベルを維持します。

MPU6050のアプリケーション

  1. ロボットのバランス
  2. ジェスチャー認識
  3. VR/ARのモーショントラッキング
  4. フィットネス追跡デバイス

結論

おめでとう! MPU6050にArduinoをインターフェースし、リアルタイムモーションデータを読み取ることに成功しました。このセンサーは非常に用途が広く、無数のプロジェクトで使用できます。 MPU6050を次のモーションベースのプロジェクトに統合して、その可能性を解き放ちます!

コメントを残す

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.