Gyroscopeを使った回転量の計算|Android開発

      2016/11/03

AndroidのセンサGyroscopeを使用して回転量を取る方法です。

解説

Gyroscopeからは各軸を中心とした角速度(rad/sec)が通知されます。
角速度は前回通知~今回通知までの値なので、通知時間を掛けてやると前回通知から今回通知までに移動した角度(rad)が算出されます。
角速度(rad/sec) × 時間(sec) = 角度(rad)
軸は以下の図のようになっています。

axis_device

使用例

下記では、start時を0(360)とし、通知毎に移動角度を加算していくことで、時計回りなら360~0へ、反時計回りなら0~360へと値が変化します。
※移動量なので、続けると負数にもなるし、360を超えます。

 - Android