mpu9250のライブラリ、I2Cを利用。開発段階のため微妙
mpu9250 Class Reference
mpu9250を比較的簡単に利用できるようにしたライブラリ More...
#include <mpu9250_i2c.h>
Public Member Functions | |
mpu9250 (I2C &_i2c, AD0 celect=AD0_HIGH) | |
mpu9250インスタンスを生成する | |
bool | senserTest () |
bool | mag_senserTest () |
地磁気センサと通信ができているか確認する | |
void | setAcc (ACC_RANGE a_range=_4G) |
加速度センサのレンジを設定 | |
void | setGyro (GYRO_RANGE g_range=_500DPS) |
角速度センサのレンジ設定 | |
void | setMag (MAG_RATE rate=_100HZ) |
地磁気センサのデータレート設定 | |
void | frequency (int Hz) |
I2Cの通信速度を変更できます.余程のことがない限り使用しなくていいです・ | |
void | setAccLPF (A_BAND_WIDTH band) |
mpu9250のデジタルローパスフィルタの設定 | |
void | setOffset (double ax, double ay, double az, double gx, double gy, double gz, double mx, double my, double mz) |
ゼロ点のずれを補正するオフセット値を設定する | |
template<typename T > | |
void | getAcc (T *ax, T *ay, T *az) |
加速度を取得します. | |
template<typename T > | |
void | getAcc (T *acc) |
加速度を取得します. | |
template<typename T > | |
void | getGyro (T *gx, T *gy, T *gz) |
角速度を取得します. | |
template<typename T > | |
void | getGyro (T *gyro) |
角速度を取得します. | |
template<typename T > | |
void | getMag (T *mx, T *my, T *mz) |
磁束密度を取得します. | |
template<typename T > | |
void | getMag (T *mag) |
磁束密度を取得します. | |
template<typename T > | |
void | getGyroAcc (T *imu) |
角速度と加速度を同時に取得します. |
Detailed Description
mpu9250を比較的簡単に利用できるようにしたライブラリ
- Note:
- ローパスフィルタまわりの実装がまだです.外部でよろです!
Definition at line 103 of file mpu9250_i2c.h.
Constructor & Destructor Documentation
mpu9250 | ( | I2C & | _i2c, |
AD0 | celect = AD0_HIGH |
||
) |
mpu9250インスタンスを生成する
- Parameters:
-
_i2c メインプログラムで宣言したI2Cインスタンスのアドレス celect AD0ピンがHIGHならAD0_HIGH,LOWならAD0_LOW
- Note:
- 第二引数なしだとAD0_HIGHになります.
Definition at line 12 of file mpu9250_i2c.cpp.
Member Function Documentation
void frequency | ( | int | Hz ) |
I2Cの通信速度を変更できます.余程のことがない限り使用しなくていいです・
Definition at line 21 of file mpu9250_i2c.cpp.
void getAcc | ( | T * | ax, |
T * | ay, | ||
T * | az | ||
) |
加速度を取得します.
- Parameters:
-
ax x軸方向の加速度[G] ay y軸方向の加速度[G] az z軸方向の加速度[G]
- Note:
- 型はfloat でも doubleでも構いません.
Definition at line 120 of file mpu9250_i2c.cpp.
void getAcc | ( | T * | acc ) |
加速度を取得します.
- Parameters:
-
acc 各軸方向の加速度[G],x,y,zの順
- Note:
- 型はfloat でも doubleでも構いません.
Definition at line 109 of file mpu9250_i2c.cpp.
void getGyro | ( | T * | gx, |
T * | gy, | ||
T * | gz | ||
) |
角速度を取得します.
- Parameters:
-
gx x軸方向の角速度[degree/s] gy y軸方向の角速度[degree/s] gz z軸方向の角速度[degree/s]
- Note:
- 型はfloat でも doubleでも構いません.
Definition at line 138 of file mpu9250_i2c.cpp.
void getGyro | ( | T * | gyro ) |
角速度を取得します.
- Parameters:
-
gyro 各軸方向の角速度[degree/s], x,y,zの順
- Note:
- 型はfloat でも doubleでも構いません.
Definition at line 127 of file mpu9250_i2c.cpp.
void getGyroAcc | ( | T * | imu ) |
角速度と加速度を同時に取得します.
- Parameters:
-
imu データを入れる配列,角速度[degree/s],加速度[G]の順
- Note:
- 配列数は6以上で
Definition at line 163 of file mpu9250_i2c.cpp.
void getMag | ( | T * | mx, |
T * | my, | ||
T * | mz | ||
) |
磁束密度を取得します.
- Parameters:
-
mx x軸方向の磁束密度[uT] my y軸方向の磁束密度[uT] mz z軸方向の磁束密度[uT]
- Note:
- 型はfloat でも doubleでも構いません.
Definition at line 156 of file mpu9250_i2c.cpp.
void getMag | ( | T * | mag ) |
磁束密度を取得します.
- Parameters:
-
mag 各軸方向の磁束密度[uT],x,y,zの順
- Note:
- 型はfloat でも doubleでも構いません.
Definition at line 145 of file mpu9250_i2c.cpp.
bool mag_senserTest | ( | ) |
bool senserTest | ( | ) |
void setAcc | ( | ACC_RANGE | a_range = _4G ) |
加速度センサのレンジを設定
- Parameters:
-
a_range _2G, _4G, _8G, _16Gの中から選択
- Note:
- 引数無しで±4Gになる
Definition at line 71 of file mpu9250_i2c.cpp.
void setAccLPF | ( | A_BAND_WIDTH | band ) |
mpu9250のデジタルローパスフィルタの設定
- Parameters:
-
band NO_USE, _460HZ, _184HZ, _92HZ, _41HZ, _20HZ, _10HZ, _5HZから選択
- Note:
- カットオフ周波数なのかサンプルレートなのかよく分かりません.正直効果が見られません
Definition at line 182 of file mpu9250_i2c.cpp.
void setGyro | ( | GYRO_RANGE | g_range = _500DPS ) |
角速度センサのレンジ設定
- Parameters:
-
g_range _250DPS, _500DPS, _1000DPS, _2000DPSの中から選択
- Note:
- 引数無しで±500DPS
Definition at line 50 of file mpu9250_i2c.cpp.
void setMag | ( | MAG_RATE | rate = _100HZ ) |
地磁気センサのデータレート設定
- Parameters:
-
rate _8HZ か _100HZを選択
- Note:
- あえて8Hzにする必要は無いと思います.
void setOffset | ( | double | ax, |
double | ay, | ||
double | az, | ||
double | gx, | ||
double | gy, | ||
double | gz, | ||
double | mx, | ||
double | my, | ||
double | mz | ||
) |
ゼロ点のずれを補正するオフセット値を設定する
- Parameters:
-
ax,ay,az 加速度のオフセット gx,gy,gz 角速度のオフセット mx,my,mz 地磁気のオフセット
- Note:
- とても重要です.地磁気は定期的にキャリブレーションをしてください.ちなみに,これらの値は測定値より引かれています.
Definition at line 38 of file mpu9250_i2c.cpp.
Generated on Sun Jul 17 2022 02:56:29 by 1.7.2