機能です:
初期化姿勢センサです
原型関数です:
int Init()
使用例です:
#include "M5Atom.h"
void setup(){
M5.begin(true, true, true); //清空串口缓冲区,设置串口波特率为 115200,初始化I2C,初始化LED矩阵
}
機能です:
ジャイロスコープの感度を設定します
原型関数です:
void SetGyroFsr(Gscale scale)
パラメータです | 対応値です |
---|---|
GFS_250DPS | 0 |
GFS_500DPS | 1 |
GFS_1000DPS | 2 |
GFS_2000DPS | 3 |
使用例です:
#include <M5Atom.h>
void setup(){
M5.begin(true, false, true);
M5.IMU.Init();
}
void loop(){
M5.IMU.SetGyroFsr(M5.IMU.GFS_2000DPS);
delay(100);
}
機能です:
加速度計感度をつけます
原型関数です:
void SetAccelFsr(Ascale scale)
パラメータです | 対応値です |
---|---|
AFS_2G | 0 |
AFS_4G | 1 |
AFS_8G | 2 |
AFS_16G | 3 |
使用例です:
#include <M5Atom.h>
void setup(){
M5.begin(true, false, true);
M5.IMU.Init();
}
void loop(){
M5.IMU.SetAccelFsr(M5.IMU.AFS_2G);
delay(100);
}
機能です:
加速度計の生データを読みます
原型関数です:
void getAccelAdc(int16_t* ax, int16_t* ay, int16_t* az)
使用例です:
#include "M5Atom.h"
void setup(){
M5.begin(true, false, true);
M5.IMU.Init();
}
int16_t x,y,z;
void loop(){
M5.IMU.getAccelAdc(&x,&y,&z);
Serial.printf("Ax:%d Ay:%d Az:%d/n",x ,y,z);
delay(100);
}
機能です:
ジャイロスコープの生データを読み取ります
原型関数です:
void getGyroAdc(int16_t* gx, int16_t* gy, int16_t* gz)
使用例です:
#include "M5Atom.h"
void setup(){
M5.begin(true, false, true);
M5.IMU.Init();
}
int16_t x,y,z;
void loop(){
M5.IMU.getGyroAdc(&x,&y,&z);
Serial.printf("Gx:%d Gy:%d Gz:%d/n",x ,y,z);
delay(100);
}
機能です:
キーの状態を読み取ります。
原型関数です:
void getTempAdc(int16_t *t)
使用例です:
void M5Atom::update()
{
M5.Btn.read();
}
機能です:
三軸加速度計の値を読み取ります
原型関数です:
void getAccelData(float* ax, float* ay, float* az)
使用例です:
#include "M5Atom.h"
void setup(){
M5.begin(true, false, true);
M5.IMU.Init();
}
float accX = 0.0F;
float accY = 0.0F;
float accZ = 0.0F;
void loop(){
M5.IMU.getAccelData(&accX,&accY,&accZ);
Serial.printf("accX, accY, accZ/n");
Serial.printf("%5.2f %5.2f %5.2f G/n", accX, accY, accZ);
delay(100);
}
機能です:
3軸ジャイロの値を読み取ります
原型関数です:
void getGyroData(float* gx, float* gy, float* gz)
使用例です:
#include "M5Atom.h"
void setup(){
M5.begin(true, false, true);
M5.IMU.Init();
}
float gyroX = 0.0F;
float gyroY = 0.0F;
float gyroZ = 0.0F;
void loop(){
M5.IMU.getGyroData(&gyroX,&gyroY,&gyroZ);
Serial.printf("gyroX, gyroY, gyroZ/n");
Serial.printf("%6.2f %6.2f%6.2f o/s/n", gyroX, gyroY, gyroZ);
delay(100);
}
機能です:
センサーの温度を読み取ります
原型関数です:
void getTempData(float *t)
使用例です:
#include "M5Atom.h"
void setup(){
M5.begin(true, false, true);
M5.IMU.Init();
}
float temp = 0.0F;
void loop(){
M5.IMU.getTempData(&temp);
Serial.printf("Temperature : %.2f C/n", temp);
delay(100);
}
機能です:
姿勢を読み取ります
原型関数です:
void getAttitude(double *pitch, double *roll)
使用例です:
#include "M5Atom.h"
void setup(){
M5.begin(true, false, true);
M5.IMU.Init();
}
double pitch, roll;
double r_rand = 180 / PI;
void loop(){
M5.IMU.getAttitude(&pitch, &roll);
double arc = atan2(pitch, roll) * r_rand + 180;
double val = sqrt(pitch * pitch + roll * roll);
Serial.printf("%.2f, %.2f, %.2f, %.2f/n", pitch, roll, arc, val); //serial port output the formatted string
delay(100);
}
機能です:
姿勢を読み取ります
原型関数です:
void getAhrsData(float *pitch,float *roll,float *yaw)
使用例です:
#include "M5Atom.h"
float pitch, roll, yaw; //Stores attitude related variables. 存储姿态相关变量
void setup(){
M5.begin(true, false, true);
M5.IMU.Init();
}
void loop(){
M5.IMU.getAhrsData(&pitch,&roll,&yaw);
Serial.printf("pitch:%.2f, roll:%.2f, yaw:%.2f", pitch,roll,yaw);
delay(100);
}