LoginSignup
19
18

More than 5 years have passed since last update.

[Android]歩数計アプリを作ってみた。

Last updated at Posted at 2019-01-28

歩数計

ローパスフィルタと呼ばれるフィルタリング処理を実装して歩数計をAndroidアプリで作成する。

1. はじめに

1.1 目的

Androidアプリを作成する際に加速センサーを用いて開発できるようなる。
加速度センサーを用いて歩数計を作成する。

1.2 使用した技術・考え方

スマートフォンには3軸の加速度センサーが存在する。

3軸センサー

これらの加速度センサーから得られる加速度の増減を利用して歩数をカウントする。
しかし、スマホがどのような状態で保持されているか分からないため、1軸の加速度だけでは正確に計測できない可能性がある。
そこで3軸の加速度を合成した以下の値の増減を利用して歩数を計測することにする。

合成値

歩行時、3軸の加速度を合成した値を取り、3軸の加速度を合成した値の極大値を取った回数を歩数としてカウントする。

極大値カウント

また、センサーから取得した生のデータには歩数計算に邪魔なノイズが含まれるため、余分なノイズを取り除き、
なるべく正しい歩数をカウントできるようにローパスフィルタと呼ばれるフィルタリング処理を行う。
ローパスフィルタとは高周波成分を取り除いて、低周波成分のみを取り出す処理である。

ローバスフィルタ

2. 結論

2.1 使用したプログラム

GitHubを参照
- MainActivity.java を参照
- activity_main.xml を参照

2.2 実行画面

アプリを起動するとこの画面が表示される。

起動画面

Startボタンを押すとこの画面が表示される

Startボタンを押した後

他にもRestartボタンは押されると歩数を0歩に初期化することができる。
Stopボタンを押すと計測をいったんストップすることができる。

実際に歩いて計測

実際に歩いて計測した。14歩歩いたが、計測上では16歩となってしまった。
2歩分の誤差が生まれてしまった。改善の余地あり

19
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
18