2011-01-14 5 views

답변

9

"정확한 값"은 일반적으로 없으며 장치에 따라 다릅니다. Sensor 클래스는 getMaximumRange()입니다. 가속도는 양수 또는 음수가 될 수 있으므로 최소값을 얻으려면 -1 값을 안전하게 곱할 수 있다고 가정합니다.

+0

최소값은 getMaximumRange()에 의해 반환 된 값의 음수라는 데 동의합니다. 대부분의 응용 프로그램에서 차이를 만들기에는 너무 작지만 실제 긍정적 인 최대 값은 getMaximumRange()보다 작은 하나의 해상도 값이라고 생각합니다 (센서 판독 값의 2의 보수 표현으로 인해). – gregS

+0

사실, 나는 책상에서'Bosch Sensortec GmbH' 가속도계를 사용하여'getMaximumRange()'에 대해'156.88'을 반환하지만 부끄러워 전달하지 못하고 각 축에서 정확하게 '39.225403'의 총 최대 범위를 갖습니다. (나는 이것을 시험 할 수있을만큼 튼튼한 장치를 깨고 박살 냈다.) 따라서이 방법이 반환하는 것은 신뢰할 수없는 이벤트입니다. 센서가 높은 정확성을 가지고 있다고보고하면 (이 장치에서 항상 알려줍니다). 반면 Nexus 6P는 축 당 '150ms^2'이상의 거리 값을보고 할 수 있었으며 총 최대 가속 값은 '135.92858447775066ms^2'이었습니다. –

1

실제 크기를 측정합니다! 하드웨어 장치에 의해 도입 된 실질적인 한계가 있는지 정말로 모르겠지만, 그렇게 빨리 움직일 것이라고 생각하지는 않습니다 ... 벡터의 크기 때문에 기호는 움직임의 의미를 의미합니다 .

PD : 나는 Sensor.TYPE_ACCELEROMETER 이벤트 값을 의미한다고 가정합니다.

+1

모든 하드웨어 센서에는 한계가 있습니다. 드라이버 개발자는 이러한 제한을 명시해야합니다. 한도를 초과하는 값에 도달하면보고 된 값이 잘립니다. – NickSoft

관련 문제