- Published on
Arduinoに「MPU-6050」を接続し制御する
1429文字3分で読めます–––
閲覧数
- Authors
- Name
- 将 有坂
- short bio
- ラズパイやArduinoで電子工作をしてます。
はじめに
「MPU-6050」は、加速度センサーとジャイロスコープが一体化された6軸の慣性計測ユニットです。この記事では、ArduinoとMPU-6050を接続し、そのデータを取得・解析して制御する方法について解説します。
※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚
1. MPU-6050の概要
MPU-6050は、小型で高性能な慣性計測ユニットで、3軸の加速度センサーと3軸のジャイロスコープを備えています。これにより、物体の傾きや動きを高精度に検知することができます。Arduinoと組み合わせることで、ロボットや姿勢制御などのプロジェクトに利用されます。
2. MPU-6050の接続
MPU-6050には、VCC、GND、SCL(Serial Clock)、SDA(Serial Data)などのピンがあります。これらをArduinoに接続します。
- VCC(赤色): 5Vの電源
- GND(茶色): 接地
- SCL(緑色): I2C通信のクロックライン
- SDA(青色): I2C通信のデータライン
3. Arduinoライブラリの導入
ArduinoでMPU-6050を利用するには、Wire ライブラリと MPU6050 ライブラリを使用します。これらのライブラリをArduino IDEに組み込む必要があります。
4. Arduinoコードの作成
次に、Arduino IDEを開いてMPU-6050を制御するためのコードを書きます。以下は、MPU-6050から加速度とジャイロのデータを取得し、シリアルモニターに表示する簡単な例です。
#include <Wire.h>
#include <MPU6050.h>
MPU6050 mpu;
void setup() {
Serial.begin(9600);
Wire.begin();
mpu.initialize();
if (!mpu.testConnection()) {
Serial.println("MPU6050 connection failed.");
while (1);
}
}
void loop() {
float ax, ay, az;
float gx, gy, gz;
mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
Serial.print("加速度:");
Serial.print("X = "); Serial.print(ax);
Serial.print(" Y = "); Serial.print(ay);
Serial.print(" Z = "); Serial.println(az);
Serial.print("ジャイロ:");
Serial.print("X = "); Serial.print(gx);
Serial.print(" Y = "); Serial.print(gy);
Serial.print(" Z = "); Serial.println(gz);
delay(1000);
}
5. コードのアップロードと動作確認
コードを書いたら、ArduinoにアップロードしてMPU-6050が正しく動作しているか確認します。シリアルモニターには、加速度とジャイロのデータが表示されるはずです。
これで、ArduinoとMPU-6050を接続してデータを取得し、制御するための基本的な手順が完了しました。MPU-6050のデータを利用して、さまざまなプロジェクトを実現することができます。
※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚