Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
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
