마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 센서 (상하움직임감지)

0 추천
안녕하세요.

안드로이드 초보 개발자 입니다.

안드로이드 센서를 이용해서 사용자가 휴대폰을 든 채로 앉았다 일어섰을 때 카운터를 1씩 증가시켜서

횟수를 카운터 하는 어플리케이션을 만들려고 합니다.

어떤식으로 개발해야하는지 전혀 감이 안잡혀서 그러니 도움 주시면 정말 감사하겠습니다:)
pronia (120 포인트) 님이 2013년 11월 6일 질문

1개의 답변

0 추천
음... 무슨 센서를 사용하려는지 모르겠지만 가속도 센서를 예로들면....

기기를 그냥 가만히 두면 Z축으로 -9.8m/s의 값이 잡히겠지요?(중력,9.8m/s로 잡히던가...;)

일단은 이 값을 가지고 앉았다 일어설 때 어떻게 변하는지 확인해보세요(패턴)

그러면 모아진 패턴을 가지고 알고리즘을 만들어서 그 알고리즘에 Z축의 값을 실시간으로 입력합니다.

실시간 입력으로 기기에 부하가 발생한다면 알고리즘의 루프 주기를 변경하여 줍니다.(주기를 너무 길게 잡으면 값이 정확하게 안 들어가니 이점 주의하세요)

다음으로 알고리즘 내에서 Z축의 입력값을 보고 상태가 변하여 최종적으로 앉았다가 일어났다고 판단하는 상태에 다다르면

카운터를 1 증가시키면 됩니다.

뭐...대충 이런식으로 구현하시면 될듯합니다...

아마도 앉을때 내려가는 상태니까 Z값이 -10m/s 보다 작아질꺼고 이 상태를 판단하고

다음으로 앉았으면 Z값이 다시 -9.8m/s 이고. 일어설때는 -9.8m/s보다 커지겠지요...다시  Z값이 -9.8m/s 가 되면

일어난 상태가 되겠지요.

가속도 센서를 사용하면 이런 식으로 될꺼에요.

다른 센서를 사용하면 그 센서에 맞는 알고리즘으로 짜면 되겠지요.

도움이 되셨는지 모르겠습니다;
인연 (31,880 포인트) 님이 2013년 11월 13일 답변
...