MPU-6050 関数リファレンス

(2014.5.18 作成)

ArduinoとSTM32F3Discoveryで共通して使えるMPU-6050クラスの関数リファレンスです。ファイルはこちらからダウンロードできます。

列挙型

AFS_SEL

磁気センサのフルスケールです。

GYRO_FS_250 ±250°/s
GYRO_FS_500 ±500°/s
GYRO_FS_1000 ±1000°/s
GYRO_FS_2000 ±2000°/s

AFS_SEL

加速度センサのフルスケールです。

ACCEL_FS_2 ±2G
ACCEL_FS_4 ±4G
ACCEL_FS_8 ±8G
ACCEL_FS_16 ±16G

LowPassFilter

Digital low pass filterの係数です。

  加速度センサ ジャイロセンサ
 

Bandwidth

(Hz)

Delay

(ms)

Bandwidth

(Hz)

Delay

(ms)

DLPF_BW_256 260 0 256 0.98
DLPF_BW_188 184 2.0 188 1.9
DLPF_BW_98 94 3.0 98 2.8
DLPF_BW_42 44 4.9 42 4.8
DLPF_BW_20 21 8.5 20 8.3
DLPF_BW_10 10 13.8 10 13.4
DLPF_BW_5 5 19.0 5 18.6

関数

コンストラクタ

プロトタイプ

MPU6050(

    const DKS::I2C::II2C *I2Cx,

    const bool PinAD0isHigh);

戻り値

なし

引数

I2Cx

I2Cクラスへのポインタ

PinAD0isHigh

AD0端子の設定。Highだとtrueを設定。GY-521基板の場合は何もしなければfalse

 

備考

なし

接続確認

プロトタイプ

bool TestConnection()const;

戻り値

"Who am I"に応答すればtrue

引数

なし

備考

なし

デバイスアドレス

プロトタイプ

uint8_t GetDeviceAddress()const;

戻り値

デバイスアドレスを返す

引数

なし

備考

コンストラクタで指定されたアドレスを返す。

R/Wビットが付いた8bitフォーマット

初期化

プロトタイプ

void Init(void);

戻り値

なし

引数

なし

備考

ソフトリセットを行います。

フルスケールはGYRO_FS_250, ACCEL_FS_2になります。

ジャイロセンサのフルスケールを変更

プロトタイプ

void setFullScaleGyroRange(const FS_SEL scale);

戻り値

なし

引数

scale

列挙型FS_SELの値 

備考

 

加速度センサのフルスケールを変更

プロトタイプ

void setFullScaleAccelRange(const AFS_SEL scale);

戻り値

なし

引数

scale

列挙型AFS_SEL の値 

備考

 

Digital lowpass filterを変更

プロトタイプ

void setDigitalLowpassFilter(const LowPassFilter DLPF)const;

戻り値

なし

引数

DLPF

列挙型LowPassFilter の値 

備考

 

ジャイロセンサーのサンプリングレートを設定

プロトタイプ

void setSampleRateDivider(const uint8_t divider)const;

戻り値

なし

引数

divider

LowPassFilterがOffだと

Rate = 8kHz/(1+divider)

LowPassFilterがOnだと

Rate = 1kHz/(1+divider)

備考

 加速度センサのレートは1kHz固定

ジャイロセンサーのサンプリングレートを取得

プロトタイプ

void getSampleRateDivider(uint8_t &divider)const;

戻り値

なし

引数

divider

この値が更新される。

内容はsetSampleRateDivider参照

備考

 

データの取得

プロトタイプ

void GetData(

    int16_t Acc[3],

    int16_t &Temp,

    int16_t Gyro[3]    )const;

戻り値

なし


引数

Acc

加速度センサ測定値

Temp

温度

Gyro

ジャイロセンサ測定値

備考

レジスタ値をそのまま返すので、絶対値の取得はfloat版を使うか、別途変換が必要です。

データの取得

プロトタイプ

void GetData(

    float Acc[3],

    float &Temp,

    float Gyro[3]    )const;

戻り値

なし


引数

Acc

加速度センサ測定値

Temp

温度

Gyro

ジャイロセンサ測定値

備考

絶対値で値を返す。