M5stickCのMPU6886を動かしてみた
M5stickCはIMU(3軸加速度、3軸ジャイロセンサー)が内蔵しているので、加速度データを取得してみようとおもいます。
IMUはMPU6886という製品です。データシートが
まずはサンプルコードをみていきます。詳細は下記GitHubのソースコードより。
M5StickC/MPU6886.ino at master · m5stack/M5StickC · GitHub
早速サンプルコード書き込んでみますと、加速度とジャイロセンサーの各軸の値がリアルタイムで更新されているようです。ただ温度が50℃?となぞな値をしめしていますが。。。。
さて、中身を見てみると、M5.MPU6886.Init()で初期(デフォルト設定)を行い、
loop内でM5.MPU6886.getAccelData(&accX,&accY,&accZ)で加速度データを取得し、g→mg単位に変換するために1000倍して、その後は100msecの待ち時間をいれています。
使い方によっては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()という関数ですね。これから色々と動かしてみたいなと思います。