目次
MPU-9250/6500 GY-6500 GY-9250
持ってたのはこれ。。。 ちょっと連続でデータをI2C経由で取るサンプルのために今回は使いましたので、その忘備録 ボード自体はこれです。9軸(加速度、ジャイロ、磁気センサ)センサになっていて、TDKのMPU-9250という石を使っています。
ESP32で、いろいろセンサーを使う時の忘備録シリーズです。
【ESP32】6軸センサ・加速度・ジャイロセンサー MPU6050のライブラリー VL53L1X TOFセンサ HY-SRF05超音波センサ【Arudino】
の続き。。そろそろESP32系も、どこかにまとめておこうかな?
こういう説明書も何もない安物センサほど、いろいろ情報がネットに転がっています(笑)
が。。 最近調べ方が分かってきたかも(笑)
Arduino IDEのツール>ライブラリマネージャ で MPU 9250を検索する!!
これが一番手っ取り早いです。ボードに書かれている番号でもいいので。。そうすると、現在のライブラリーが出てきます。
上から
これが決定版かもですが。。I2C、SPI、FIFOにも対応しているバージョンです。
https://github.com/bolderflight/MPU9250
Donkey Carも作られている人のライブラリです。一通りできそう。
https://github.com/FaBoPlatform/FaBo9AXIS-MPU9250-Library
こちらはI2Cを使うセンサ類のライブラリですね。
https://github.com/orgua/iLib
こちらは、MPU9250に特化していて、キャリブレーションも作られています。
https://github.com/hideakitai/MPU9250
ESP32用のPINをどこで変えるかも書かれています。
https://github.com/asukiaaa/MPU9250_asukiaaa
この中で、今回ESP32系を使うので、サンプルにもESP32を使っている一番下のやつにしてみました。
これも参考にして。
接続ピン配列など
実はこれが一番の難関かもですねぇ~(笑)
センサモジュール自体の回路図とピンは、こちら
J1のところです。下の写真では、右から1ですね。
- VSC 3.3V
- GND
- SCL
- SDA
- ESD
- ESC
- AD0
- INT
- nCS
- FSYNC
Arduino側
I2Cで接続する場合は、
基本Arduinoは、A4 (SDA), A5 (SCL)
ESP32は、 GPIO21(SDA) GPIO22(SCL)
I2Cのピンアサイン Arduinoの場合
ESP32のピンアサイン
M5は分かりやすいですね。ESP32のピンの呼び名と同じものが裏を見るとわかります。
なお、左右・上下で同じピンが出ています。
実際の接続は
センサ側から見て
MPU-9250 : ESP32(M5 Stack)
- VSC 3.3V : 3.3V
- GND : G
- SCL : 22(SCL)
- SDA : 21(SDA)
ですね。
先ほどのライブラリについてくるサンプルGetData.ino を動かすとすぐにコンソールにデータが出てきました。
応用例のこれが、9250のセット方法の参考になります。
http://blog.robotakao.jp/blog-entry-255.html
と。。。6500の時と違って簡単に動いたわけですが。。。
M5Stack-Chimera-core の場合
もっと簡単に、M5Stack-Chimera-coreのライブラリに例が入ってました(笑)
するっと動いた(笑)
こちらは、ちゃんとバイアスも計算してくれます。姿勢推定もしてくれているようですね。。でもこれ読むの大変だ(笑)カルマンフィルターとかすっかり忘れているし(笑)
ドキュメント類はこちらも豊富ですね。
https://github.com/kriswiner/MPU9250
コメントを残していただけるとありがたいです