歩数計
ローパスフィルタと呼ばれるフィルタリング処理を実装して歩数計をAndroidアプリで作成する。
1. はじめに
1.1 目的
Androidアプリを作成する際に加速センサーを用いて開発できるようなる。
加速度センサーを用いて歩数計を作成する。
1.2 使用した技術・考え方
スマートフォンには3軸の加速度センサーが存在する。
これらの加速度センサーから得られる加速度の増減を利用して歩数をカウントする。
しかし、スマホがどのような状態で保持されているか分からないため、1軸の加速度だけでは正確に計測できない可能性がある。
そこで3軸の加速度を合成した以下の値の増減を利用して歩数を計測することにする。
歩行時、3軸の加速度を合成した値を取り、3軸の加速度を合成した値の極大値を取った回数を歩数としてカウントする。
また、センサーから取得した生のデータには歩数計算に邪魔なノイズが含まれるため、余分なノイズを取り除き、
なるべく正しい歩数をカウントできるようにローパスフィルタと呼ばれるフィルタリング処理を行う。
ローパスフィルタとは高周波成分を取り除いて、低周波成分のみを取り出す処理である。
2. 結論
2.1 使用したプログラム
- MainActivity.java を参照
- activity_main.xml を参照
2.2 実行画面
アプリを起動するとこの画面が表示される。
Startボタンを押すとこの画面が表示される
他にもRestartボタンは押されると歩数を0歩に初期化することができる。
Stopボタンを押すと計測をいったんストップすることができる。
実際に歩いて計測した。14歩歩いたが、計測上では16歩となってしまった。
2歩分の誤差が生まれてしまった。改善の余地あり