アラフォーエンジニアの週末

Arduino, M5stackなど趣味で初めた電子工作を中心とした週末の活動・メモを中心にかいていきます。

M5stickCのMPU6886を動かしてみた

M5stickCはIMU(3軸加速度、3軸ジャイロセンサー)が内蔵しているので、加速度データを取得してみようとおもいます。

IMUはMPU6886という製品です。データシートが

https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/MPU-6886-000193%2Bv1.1_GHIC_en.pdf

 

まずはサンプルコードをみていきます。詳細は下記GitHubソースコードより。

M5StickC/MPU6886.ino at master · m5stack/M5StickC · GitHub

早速サンプルコード書き込んでみますと、加速度とジャイロセンサーの各軸の値がリアルタイムで更新されているようです。ただ温度が50℃?となぞな値をしめしていますが。。。。

f:id:rkblog:20210627160918p:plain

さて、中身を見てみると、M5.MPU6886.Init()で初期(デフォルト設定)を行い、

loop内でM5.MPU6886.getAccelData(&accX,&accY,&accZ)で加速度データを取得し、g→mg単位に変換するために1000倍して、その後は100msecの待ち時間をいれています。

f:id:rkblog:20210626184448p:plain

使い方によってはMPU6886では測定レンジ、サンプリング速度などの変更等の設定も必要になってくると思いますが、色々とAPIがあるようです。

https://lang-ship.com/reference/M5StickC/latest/class_m_p_u6886.html

https://lang-ship.com/reference/unofficial/M5StickC/Class/MPU6886/

https://github.com/m5stack/M5StickC/blob/master/src/utility/MPU6886.h

一番気になったのは、getAhrsData()という関数ですね。これから色々と動かしてみたいなと思います。