2011-01-05 16 views
2

가속도계 출력을 인쇄하는 간단한 프로그램을 작성했습니다. 의 결정에 따라안드로이드 가속도계 정확도가 매우 낮습니다

  1. 가속도계의 출력은 항상 "최소"로 설정 :

    mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE); 
    mSensorManager.registerListener(this,mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_FASTEST);  
    

    그것은 밝혀

    public void onAccuracyChanged(Sensor sensor, int accuracy) { 
        if (collectingData){ 
        accelPrecision.setText("accelerometer accuracy: " + accuracy); 
        } 
    } 
    
  2. 실제 가속도계 측정 값은 매우 부정확 -에 대한 테이블 위에 놓여 있어도 2 % -5 % 변동합니다.

는 지금까지 내가 말할 수있는 그것은

+1

가속도계의 정확도는 2 % -5 %입니다. – Falmarri

+1

가속도계의 정확도는 하드웨어에 따라 다릅니다. 즉, Android (소프트웨어) 문제가 아닙니다. –

답변

0

사용을 필터를 설정하는 것을 넥서스 S, 넥서스 원 및 G1

이 모드는 정확하게 할 수있는 방법 어떤 생각 /에서 동일한 문제입니다. 원시 데이터를보고 있으므로 변동성이 커집니다. weighted average 또는 moving average과 같은 것으로 충분합니다.

+1

감사. 하지만 유휴 넥서스 S는 정확성을 항상 "0"으로보고합니다 (개발자 문서에 따라) "SENSOR_STATUS_UNRELIABLE"-이 센서가 반환 한 값은 신뢰할 수 없거나 보정이 필요하거나 환경에서 판독 값을 허용하지 않습니다 – user564594

관련 문제