概要
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 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)」のジャイロの値がズラーっと表示され続けると思います
値は左からヨー ( 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
これで再度スケッチを書き込み直すと以下のように加速度も表示されるようになります
※上記はわかりやすいようにジャイロセンサの値は表示しないようにしています
上記はブレッドボードをそのままおいた状態です
X 軸に対して垂直に置き換えると一番左の値が 2300 くらいの数字に変化します
Y 軸に対して垂直に置き換えると真ん中の値が 2300 くらいに変化します
Z 軸の値だけ -700 くらいで安定しました
値が安定するまでに少し時間がかかった印象があります
0 件のコメント:
コメントを投稿