현재 휴대 전화에서 방향 데이터를 받아서 속도계를 구현 중입니다. 나는 장치가 테이블이나 뭔가에 배치하는 동안이 잘 작동, 어쨌든 나는 그런 방위각 등으로, 내 휴대 전화에서 회전 데이터를 수신 할 수 있어요이와상수 회전 장치 - 올바른 방향 데이터를받는 방법?
SensorManager.getRotationMatrix(R, I, gravity, geomagnetic);
float orientation[] = new float[3];
SensorManager.getOrientation(R, orientation);
float azimuth = orientation[0];
double azimuthD = Math.toDegrees(azimuth);
if(azimuthD < 0) azimuthD = 360 + azimuthD;
.. 을 사용하고 있습니다. 그러나 특정 지점을 중심으로 회전 할 때 (내 경우 장치가 바퀴에 고정되어 특정 속도로 회전하는 경우) 값이 정확하지 않게됩니다. 나는 중력과 지자기 센서를 사용하고 있기 때문에, 회전하면서이 센서에 영향을 미치는 힘과 충돌 할 수 있다고 생각합니다. As the wheel turns, the rotation changes relative to a point, but the local device rotation stays the same.
잡음이 많은 데이터를 사용하지 않고 기기를 돌리는 동안 기기의 방향에 어떻게 액세스 할 수 있습니까? 'Sensor.TYPE_ROTATION_VECTOR '속성에 대한 내용을 읽었지만 제대로 작동하는지 알 수 없습니다. 또한 조정 시스템을 재구성 할 수있는 가능성에 대해 읽었지 만, 그게 어떻게 도움이 될까요? 내 전화가 바닥에 수직이 아니며 5 ° -10 °의 각도와 더 비슷하지 않기 때문입니다. 도움을 주시면 감사하겠습니다.
건배, viehlieb