MPU-6050 使い方

(2014.5.16 作成)

 MPU-6050の使い方については価格の安さもあり多くのサイトで紹介されており、また簡単なものなのでここでは注意点のみ載せたいと思います。

電源について

 MPU-6050の仕様書にあるOperating VoltageのMaxは3.46VなのでArduinoなどの5VをICに直接つなげることは出来ません。ただしこの基板(GY-521)では基板上に5V→3.3Vへ変換するレギュレータが載っているため基板上のVCCピンへ5V, 3.3Vどちらを供給しても動作します。

 ただVCCピンはこれでよいのですが、Arduinoなど5VのマイコンのI2C端子を直接GY-521のI2C端子へ接続する場合は注意が必要です。I2Cは通信を行っていない場合5Vでプルアップされているため結果としてMPU-6050のI2C端子に5Vの電圧がかかるためです。

 5VのI2CバスをMPU-6050につないでもMPUの仕様書の絶対最大定格は6Vなので壊れることはないと思いますし、実際に多くのHPで紹介されている接続法なので問題ないとは思いますが、こちらで紹介しているようにレベル変換を行って接続することをお勧めします。

 ちなみに仕様書では"VLOGIC must be ≤VDD at all times"とも書かれていますので、レベル変換せずに接続すると壊れても文句は言えないと思います。

I2Cアドレスについて

 AD0端子によってI2Cのアドレスを設定可能です。

AD0端子 7bitアドレス
Low b1101000
High b1101001

ただしGY-521基板の場合AD0端子は4.7kΩでGNDにプルダウンされているので、何もしなければb1101000のアドレスになります。

ちなみにトップページのMPU-6050の写真はこのプルダウンに気づかずGNDに半田付けしてしまいました・・・

データ読み出しについて

 STM32Discovery基板上のセンサーも同じなのですが、データは連続してすべてを読み出す方法をお勧めします。私の見たいくつかのMPU-6050のライブラリではデータを1byteづつ読み出しており、これでは各データが同一のサンプリングタイミングになる保証がありません。このサイトで紹介しているソースのように連続して読み出せば同一タイミングのサンプリングデータになります。