2017年3月8日水曜日

Arduino + MPU6050 でジャイロセンサを試してみた

概要

MPU6050 というインベンセンス社が開発した加速度+角速度モジュールを Arduino の動かしてみました
配線して、サンプルのスケッチを書き込むところまでやってみました

環境

  • MPU-6050
  • Mac OS X 10.11.3
  • Arduino IDE 1.6.7
  • Arduino 用 i2cdevlib ライブラリ

MPU6050 操作用のライブラリのインストール

Github で公開されているライブラリを使います

https://github.com/jrowberg/i2cdevlib/archive/master.zip
から最新版の ZIP ファイルをダウロードします
ダウンロードしてできた i2cdevlib-master.zip を解凍して

  • Arduino/MPU6050
  • Arduino/I2Cdev

を libraries 配下にコピーしてください
コピーできたらインストールは完了なので Arduino IDE を起動しましょう

配線

Arduino と MPU6050 を配線します
全体図は以下の通りです
arduino_with_mpu6050_circuit.jpg

簡単に説明すると

  • Arduino A5 -> MPU6050 SCL
  • Arduino A4 -> MPU6050 SDA
  • Arduino 5V -> MPU6050 VCC
  • Arduino GND -> MPU6050 GND
  • Arduino 2 -> MPU6050 INT

とするだけで OK です
配線できたらサンプルのスケッチを書き込んでいきましょう

スケッチ書き込み

ファイル -> スケッチの例 -> MPU6050 -> Examples -> MPU6050_DMP6

を開きましょう
開いたらコンパイルして成功することを確認してください
スケッチを書き込む前にシリアルモニタを起動してください
baudrate は 115200 に設定してください

準備出来たらスケッチを書き込みます
書き込みが完了すると入力を求められるのでシリアルモニタで適当な文字列を入力してスタートします

すると「ypr (YAW, PITCH, ROLL)」のジャイロの値がズラーっと表示され続けると思います
arduino_with_mpu6050_serial.png

値は左からヨー ( Z軸 ), ピッチ ( Y軸 ), ロール ( Z軸 ) の順番で表示される
それぞれの軸の向きは MPU6050 の基盤上にプリントされているので確認してください

今回の配線の写真だと

  • ヨー ・・・ ブレッドボードをおいたままで回転させる、垂直に突き刺す軸
  • ピッチ ・・・ ブレッドボードを手前に倒しり奥に倒したりする動き、横に突き刺す軸
  • ロール ・・・ ブレッドボードの左や右を持ち上げたりする動き、縦に突き刺す軸

になります
実際に動かしてみるとセンサの動きがわかると重います

最後に

Arduino + MPU6050 で角速度の動きを試してみました
MPU6050 には加速度センサもついているのでスケッチを変更すれば加速度も取れると思います

あとはこれを ESP-WROOM-02 でも動かしたいなと思っています
ちょっと調べてみた感じだとどうやら MPU6050 は Arduino 完全互換では動かすことができないらしく、ちょっと工夫しないとダメとか、、、
具体的に試していないので何とも言えないですが

P.S 20160404

加速度センサについても試してみました
サンプルのスケッチの 107 行目あたりにある #define をコメントアウトすれば加速度も取得できるようになります

  • // #define OUTPUT_READABLE_REALACCEL

  • #define OUTPUT_READABLE_REALACCEL

これで再度スケッチを書き込み直すと以下のように加速度も表示されるようになります
arduino_with_mpu6050_serial_accel.png

※上記はわかりやすいようにジャイロセンサの値は表示しないようにしています

上記はブレッドボードをそのままおいた状態です
X 軸に対して垂直に置き換えると一番左の値が 2300 くらいの数字に変化します
Y 軸に対して垂直に置き換えると真ん中の値が 2300 くらいに変化します
Z 軸の値だけ -700 くらいで安定しました

値が安定するまでに少し時間がかかった印象があります

参考サイト

0 件のコメント:

コメントを投稿