【ESP32】MPU-9250/6500 9軸(加速度,ジャイロ,磁気センサ)センサ【M5Stack】

dav

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を使っている一番下のやつにしてみました。

【9軸センサ】MPU9250の使い方とArduinoプログラム

これも参考にして。

接続ピン配列など

実はこれが一番の難関かもですねぇ~(笑)

センサモジュール自体の回路図とピンは、こちら

J1のところです。下の写真では、右から1ですね。

  1. VSC 3.3V
  2. GND
  3. SCL
  4. SDA
  5. ESD
  6. ESC
  7. AD0
  8. INT
  9. nCS
  10. FSYNC

Arduino側

I2Cで接続する場合は、

基本Arduinoは、A4 (SDA), A5 (SCL)

ESP32は、 GPIO21(SDA) GPIO22(SCL)

I2Cのピンアサイン Arduinoの場合

ESP32のピンアサイン

M5Stackのピンアサイン

M5は分かりやすいですね。ESP32のピンの呼び名と同じものが裏を見るとわかります。

なお、左右・上下で同じピンが出ています。

実際の接続は

センサ側から見て

MPU-9250   : ESP32(M5 Stack)

  1. VSC 3.3V  : 3.3V
  2. GND     : G
  3. SCL      :   22(SCL)
  4. 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

 

投稿者 tom2rd

コメントを残していただけるとありがたいです

Loading Facebook Comments ...

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください