M5StickCに加速度取得を書き込んで見るメモ
ArduinoでM5StickCのSketchライブラリ参考しやした
###加速度取得して画面に表示
#include <M5StickC.h>
float accX = 0.0F;
float accY = 0.0F;
float accZ = 0.0F;
float gyroX = 0.0F;
float gyroY = 0.0F;
float gyroZ = 0.0F;
float pitch = 0.0F;
float roll = 0.0F;
float yaw = 0.0F;
void setup()
{
M5.begin();
M5.IMU.Init();
M5.Lcd.setRotation(3);
M5.Lcd.fillScreen(BLACK);
M5.Lcd.setTextSize(1);
M5.Lcd.setCursor(40, 0);
M5.Lcd.println("IMU TEST");
M5.Lcd.setCursor(0, 10);
M5.Lcd.println(" X Y Z");
M5.Lcd.setCursor(0, 50);
M5.Lcd.println(" Pitch Roll Yaw");
}
float temp = 0;
void loop()
{
M5.IMU.getGyroData(&gyroX, &gyroY, &gyroZ);
M5.IMU.getAccelData(&accX, &accY, &accZ);
M5.IMU.getAhrsData(&pitch, &roll, &yaw);
M5.Lcd.setCursor(0, 20);
M5.Lcd.printf("%6.2f %6.2f %6.2f ", gyroX, gyroY, gyroZ);
M5.Lcd.setCursor(140, 20);
M5.Lcd.print("o/s");
M5.Lcd.setCursor(0, 30);
M5.Lcd.printf(" %5.2f %5.2f %5.2f ", accX, accY, accZ);
M5.Lcd.setCursor(140, 30);
M5.Lcd.print("G");
M5.Lcd.setCursor(0, 60);
M5.Lcd.printf(" %5.2f %5.2f %5.2f ", pitch, roll, yaw);
delay(1000);
}
SH200Qでの不具合
M5StickCの6axisIMUが「SH200Q」だと正常な加速度が取得できないようです
ちょうどその機種だったので、正常に取得できているかは確認できず。。
Sketchでライブラリのインポート時の画面
###参考サイト
M5StickCを動かしてみる
https://qiita.com/itiB_S144/items/7a232c1a31151fcb5e5b