장치의 동작을 감지하려는 응용 프로그램을 빌드하려고합니다. 기본적으로 장치의 가을을 감지해야합니다. 누구나 내가 이것을 할 수있는 방법을 도울 수 있습니까? 중력과 관련하여 가속도계를 사용하고 있습니까?중력과 관련하여 장치 동작 감지
-1
A
답변
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 주위에 유지할 수 있습니다).