2017-05-16 2 views
-1

장치의 동작을 감지하려는 응용 프로그램을 빌드하려고합니다. 기본적으로 장치의 가을을 감지해야합니다. 누구나 내가 이것을 할 수있는 방법을 도울 수 있습니까? 중력과 관련하여 가속도계를 사용하고 있습니까?중력과 관련하여 장치 동작 감지

답변

0

하이 패스 필터를 사용해야합니다. 하이 패스 필터를 사용하여 중력과 같이 느리게 변하는 힘을 필터링하면 나머지 힘이 수직 방향으로 휴대 전화에 적용되는 힘과 같이 빠르게 변화합니다 . 그런 다음 그 구성 부분으로 그 분해에 작동하는 방향으로 중력 찾을 필요가

values[0] //acceleration on x axis 
values[1] //acceleration on y axis 
values[2] //acceleration on z axis 

:

이 가속도의 구성 요소는 각 축에 무너 뜨리는 방법이다. 중력의 크기는 항상 9.8이되지만 방향과 구성 요소로 분해되는 방식이 변경됩니다. 이 벡터 작업이기 때문에이 요소에 의해 모든 요소를 ​​계산하는 방법

gravity[0] //gravity x axis 
gravity[1] //gravity y axis 
gravity[2] //gravity z axis 

The total acceleration, T, on the phone is T = g + a. To get just a we would need a = T - g: 

linear_acceleration[0] = event.values[0] - gravity[0]; 
linear_acceleration[1] = event.values[1] - gravity[1]; 
linear_acceleration[2] = event.values[2] - gravity[2]; 

공지 사항 : 우리는 중력의 가치를 얻을 중력 [3]과 같은 배열에 그 벡터를 저장할 수 있다고 가정. 모든 값을 추출한 후 하이 패스 필터를 적용하고 linear_acceleration [2]와 임계 값을 비교해야합니다 (어쩌면 9 주위에 유지할 수 있습니다).