Android Studio (センサーでのデータ取得2_加速度と歩行検出)

■加速度と歩行検出について。
前回はいろいろなセンサーがあることを見たので、その中から加速度(Sensor.TYPE_ACCELEROMETER)と歩行検出(Sensor.TYPE_STEP_DETECTOR)についてもう少し試してみる。
検出した数値をテキスト表示するだけではどのように変化しているか分かりづらいので、取得したデータをグラフとして表示できるようにした。

加速度について、まずはスマホを静置して値を見てみる。
スマホを手に取って縦の状態(画面が視線と垂直になるような状態)にした。


赤い線の少し下の灰色の直線が0となる。加速度の検知では、重力分の9.8m/s2が常に検出されるよう。x軸、z軸はいずれも力がかかっておらず、y軸に重力分の力がかかっていると解釈できる。手で持った状態なのでぶれている。

次に、途中からスマホをテーブルに寝かした状態。



寝たした状態のため、重力分はz軸にかかっており、x軸、y軸には力はかかっていない。テーブルに置いているので値は安定している。

次はスマホを振ってみた。変動が激しいところが振ったとき。

振る向きによって、x、y、zの値は変わるけど、今回は手に持った状態から左前に倒すように振って元に戻す動作をした。スマホを手に取って縦の状態から振ったとき、左右ではx軸、上下ではy軸、前後ではz軸が変わるよう(手で持って動かすのでは正確な動作はできないので、他の軸も値は変わるけど)。振った瞬間には、重量分の9.8m/s2よりは大きな値が検出されている。

次は歩く動き。スマホはポケットに入れている。歩行検出も正常に働いているよう(黒い縦線)。歩行検出は身体活動として、android:name="android.permission.ACTIVITY_RECOGNITION の権限が必要だった。

一定の動きをしていることは加速度のデータパターンからも何となく分かる。歩行も一定の間隔で検出されている。

最後に車に乗ったときの反応。
ドア部分に縦に立て掛ける感じでスマホを置いて運転した。

加速する際はx軸で反応すると思うけど、スタート時に0から値が増えていることは分かる。しかし、細かな値については車の振動などで車の加減速を反映したものかよく分からない。

もう少しセンサーのところを見てみたい。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です