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

スポンサーリンク
広告

MPU-9250/6500 GY-6500 GY-9250

持ってたのはこれ。。。 ちょっと連続でデータをI2C経由で取るサンプルのために今回は使いましたので、その忘備録 ボード自体はこれです。9軸(加速度、ジャイロ、磁気センサ)センサになっていて、TDKのMPU-9250という石を使っています。

ESP32で、いろいろセンサーを使う時の忘備録シリーズです。

【ESP32】6軸センサ・加速度・ジャイロセンサー MPU6050のライブラリー VL53L1X TOFセンサ HY-SRF05超音波センサ【Arudino】
ESP32Sというモジュールで遊んでいます こやつ、BlueToothもちゃんと動くし、Wifiもちゃんと動く。。Bluetoothだ...

の続き。。そろそろESP32系も、どこかにまとめておこうかな?

こういう説明書も何もない安物センサほど、いろいろ情報がネットに転がっています(笑)

が。。 最近調べ方が分かってきたかも(笑)

Arduino IDEのツール>ライブラリマネージャ で MPU 9250を検索する!!

これが一番手っ取り早いです。ボードに書かれている番号でもいいので。。そうすると、現在のライブラリーが出てきます。

上から

これが決定版かもですが。。I2C、SPI、FIFOにも対応しているバージョンです。

bolderflight/MPU9250
Arduino library for communicating with the InvenSense MPU-9250 and MPU-9255 nine-axis IMUs. - bolderflight/MPU9250

Donkey Carも作られている人のライブラリです。一通りできそう。

FaBoPlatform/FaBo9AXIS-MPU9250-Library
Contribute to FaBoPlatform/FaBo9AXIS-MPU9250-Library development by creating an account on GitHub.

こちらはI2Cを使うセンサ類のライブラリですね。

orgua/iLib
Library for various I2C-Sensors with examples for Arduino - orgua/iLib

こちらは、MPU9250に特化していて、キャリブレーションも作られています。

hideakitai/MPU9250
Arduino library for MPU9250 Nine-Axis (Gyro + Accelerometer + Compass) MEMS MotionTracking™ Device - hideakitai/MPU9250

ESP32用のPINをどこで変えるかも書かれています。

asukiaaa/MPU9250_asukiaaa
A library for arduino to read value of MPU9250. Contribute to asukiaaa/MPU9250_asukiaaa development by creating an account on GitHub.

この中で、今回ESP32系を使うので、サンプルにもESP32を使っている一番下のやつにしてみました。

【9軸センサ】MPU9250の使い方とArduinoプログラム
ドローンを製作する上で,MPU9250という9軸(加速度,ジャイロ,磁気センサ)のセンサを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のセット方法の参考になります。

自作デジタルスタビライザーに9軸 加速度&ジャイロ&磁気センサ MPU9250を入れてみた
自作デジタルスタビライザーに9軸 加速度&ジャイロ&磁気センサ MPU9250を入れてみたこんにちはRoboTakaoです。前回、9軸 加速度&ジャイロ&磁気センサ MPU9250をArduinoNanoで使ってみましたが、デジタルスタビライザーに入れてみましたので報告します。以前のデジタルスタビライザーの投稿はこちら...

と。。。6500の時と違って簡単に動いたわけですが。。。

M5Stack-Chimera-core の場合

もっと簡単に、M5Stack-Chimera-coreのライブラリに例が入ってました(笑)

するっと動いた(笑)

MPU-9250 を M5Stack Chimera core ライブラリーのサンプルを動かしてみた

こちらは、ちゃんとバイアスも計算してくれます。姿勢推定もしてくれているようですね。。でもこれ読むの大変だ(笑)カルマンフィルターとかすっかり忘れているし(笑)

ドキュメント類はこちらも豊富ですね。

kriswiner/MPU9250
Arduino sketches for MPU9250 9DoF with AHRS sensor fusion - kriswiner/MPU9250

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

Loading Facebook Comments ...
%d人のブロガーが「いいね」をつけました。