RECoreには6軸IMU(LSM6DSL)を搭載しています。IMUを使用することで、角加速度と角速度を計測することができ、本体の向きや回転を知ることができます。
IMUは基板上の図の位置に実装されています。基板中央から少しずれている点に注意してください。
加速度は±2/±4/±8/±16Gのスケールから、角速度は±125/±250/±500/±1000/±2000dps(degree per second)のスケールから選択することができます。
IMUのサンプルはプログラムは
ファイル→スケッチ例→RECoreLibrary
のIMU_exampleです。
IMUの軸は図のような方向になっています。矢印方向からの力がかかった時に+方向として検出されます。
IMUはプログラムから以下の手順で初期化して使用する必要があり、加速度、角速度それぞれ設定を行う必要があります。
加速度のデータ出力レートを設定します。
加速度のレートは12.5/26/52/104/208/416/833/1660/3330/6660Hzと、DOWN(停止)から選択することができます。出力レートを高くすると応答性の高いデータが取れる反面、データのノイズは多くなります。
加速度のスケールを設定します。
スケールは±2/±4/±8/±16Gから選択することができます。
角速度のデータ出力レートを設定します。
角速度のレートは12.5/26/52/104/208/416/833/1660Hzと、DOWN(停止)から選択することができます。加速度と同様に、出力レートを高くすると応答性の高いデータが取れる反面、データのノイズは多くなります。
角速度のスケールを設定します。
スケールは±125/±250/±500/±1000/±2000dpsから選択することができます。
IMUから加速度を取得します。戻り値はfloatで、単位はGになります。
また、単位変換されていないセンサーからのデータを取得するgetRawAcc関数があります。
IMUから角速度を取得します。戻り値はfloatで、単位はdpsになります。
また、単位変換されていないセンサーからのデータを取得するgetRawAngularRate関数があります。