logo
Published on

Arduinoに「MPU-9250」を接続し制御する

Authors
  • avatar
    Name
    Shou Kawakami / 川上翔
    Twitter

はじめに

MPU-9250は、加速度計、ジャイロスコープ、および磁力計を搭載した9軸のセンサーモジュールです。この記事では、ArduinoにMPU-9250を接続し、そのデータを読み取って制御する方法について解説します。

※モジュールの価格を比較 ▶ TemuAliExpress楽天メルカリ

1. MPU-9250センサーモジュールの概要

MPU-9250は、加速度、角速度、および磁気の3つのセンサーを一つのモジュールに搭載しています。これにより、物体の動きや向きに関する情報を高精度に取得することができます。Arduinoと組み合わせることで、様々なプロジェクトで姿勢制御や動きの検出などが可能となります。

2. MPU-9250の接続

MPU-9250は、通常、VCC、GND、SCL、SDAなどのピンがあります。これらをArduinoに接続します。例えば、以下は基本的な接続例です。

  • VCC(赤色): 3.3Vの電源
  • GND(茶色): 接地
  • SCL(緑色): I2Cのクロック
  • SDA(青色): I2Cのデータ

3. Arduinoライブラリのインストール

MPU-9250をArduinoで使用するには、専用のライブラリが必要です。Arduino IDEを開き、「スケッチ」 -> 「ライブラリをインクルード」 -> 「ライブラリを管理」から「MPU-9250」を検索し、インストールします。

4. Arduinoコードの作成

MPU-9250のデータを取得するためのArduinoコードを作成します。以下は、簡単な例です。

#include <Wire.h>
#include <MPU9250_asukiaaa.h>

MPU9250_asukiaaa mpu;

void setup() {
  Serial.begin(115200);
  
  Wire.begin();
  mpu.setWire(&Wire);
  
  if(!mpu.begin()) {
    Serial.println("MPU9250 initialization failed");
    while(1);
  }
}

void loop() {
  mpu.readSensor();
  Serial.print("加速度: ");
  Serial.print(mpu.getAccX());
  Serial.print(", ");
  Serial.print(mpu.getAccY());
  Serial.print(", ");
  Serial.print(mpu.getAccZ());
  Serial.println();

  Serial.print("ジャイロ: ");
  Serial.print(mpu.getGyroX());
  Serial.print(", ");
  Serial.print(mpu.getGyroY());
  Serial.print(", ");
  Serial.print(mpu.getGyroZ());
  Serial.println();

  Serial.print("磁力: ");
  Serial.print(mpu.getMagX());
  Serial.print(", ");
  Serial.print(mpu.getMagY());
  Serial.print(", ");
  Serial.print(mpu.getMagZ());
  Serial.println();

  delay(1000);
}

5. コードのアップロードと動作確認

Arduinoに書いたコードをアップロードし、シリアルモニターを開いてMPU-9250からのデータを確認します。MPU-9250が正しく接続されていれば、加速度、ジャイロ、磁力のデータが表示されるはずです。

これで、ArduinoにMPU-9250を接続し、そのデータを取得するための基本的な手順が完了しました。MPU-9250のデータを利用して様々なプロジェクトを構築することができます。