Skip to content

ジャイロ加速度計(MPU6886)

概要

初期ロット以外に搭載されていると思われるI2Cアドレス0x68で接続されている6-axis IMUクラス。

現状MPU6886を搭載しているものがあるので、どちらを搭載していうかを確認してから利用してください

データシート

データシート

メンバー

加速度スケール aRes

float MPU6886::aRes

ジャイロスケール gRes

float MPU6886::gRes

コンストラクタ MPU6886()

処理無し

MPU6886::MPU6886()

初期化 Init()

内部関数のため、通常は利用しない

int MPU6886::Init(void)

戻り値

0:成功, -1:失敗

加速度取得(スケール補正前) getAccelAdc()

スケール補正されていない取得した値

void MPU6886::getAccelAdc(int16_t *ax, int16_t *ay, int16_t *az)

引数

  • int16_t * ax X軸加速度(スケール補正前)
  • int16_t * ay Y軸加速度(スケール補正前)
  • int16_t * az Z軸加速度(スケール補正前)

ジャイロ取得(スケール補正前) getGyroAdc()

スケール補正されていない取得した値

void MPU6886::getGyroAdc(int16_t *gx, int16_t *gy, int16_t *gz)

引数

  • int16_t * gx X軸ジャイロ(スケール補正前)
  • int16_t * gy Y軸ジャイロ(スケール補正前)
  • int16_t * gz Z軸ジャイロ(スケール補正前)

内部温度取得 getTempAdc()

内部の温度なので気温ではありません

void MPU6886::getTempAdc(int16_t *t)

引数

  • int16_t * t 温度Step(温度 = 25.0 + 温度Step / 326.8)

加速度取得(スケール補正後) getAccelData()

スケール補正された値

void MPU6886::getAccelData(float *ax, float *ay, float *az)

引数

  • float * ax X軸加速度(スケール補正後)
  • float * ay Y軸加速度(スケール補正後)
  • float * az Z軸加速度(スケール補正後)

ジャイロ取得(スケール補正後) getGyroData()

スケール補正された値

void MPU6886::getGyroData(float *gx, float *gy, float *gz)

引数

  • float * gx X軸ジャイロ(スケール補正後)
  • float * gy Y軸ジャイロ(スケール補正後)
  • float * gz Z軸ジャイロ(スケール補正後)

内部温度取得 getTempData()

内部の温度なので気温ではありません

void MPU6886::getTempData(float *t)

引数

  • float * t 温度

ジャイロスケール設定 SetGyroFsr()

ジャイロのスケールを設定する

void MPU6886::SetGyroFsr(Gscale scale)

引数

  • Gscale scale ジャイロスケール

加速度スケール設定 SetAccelFsr()

加速度のスケールを設定する

void MPU6886::SetAccelFsr(Ascale scale)

引数

  • Ascale scale 加速度スケール

AHRS取得 getAhrsData()

3次元空間での回転状態を(ピッチ、ロール、ヨー)を取得します。

void MPU6886::getAhrsData(float *pitch, float *roll, float *yaw)

引数

  • float * pitch ピッチ
  • float * roll ロール
  • float * yaw ヨー

関連ブログ