Требуется помощь новичка в отношении гироскопа Android

Я новичок в программировании для Android и просто играю, чтобы узнать больше. Я пытаюсь поиграть с гироскопом, однако замечаю, что когда я кладу гироскоп на стол, значения все еще двигаются. Если я не ошибаюсь, это связано с некоторыми проблемами дрейфа. Это мой следующий код.

public class MainActivity extends Activity implements SensorEventListener  {
private SensorManager sm = null;
private Sensor mGyroscope=null;
TextView txt;
@Override
protected void onCreate(Bundle savedInstanceState) {
    sm = (SensorManager) getSystemService(SENSOR_SERVICE);
    mGyroscope = sm.getDefaultSensor(Sensor.TYPE_GYROSCOPE);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    txt = (TextView) findViewById(R.id.txt); 

}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}
protected void onResume() {
    super.onResume();
   sm.registerListener(this, mGyroscope, SensorManager.SENSOR_DELAY_NORMAL);
}
protected void onPause() {
    super.onPause();
    sm.unregisterListener(this);
}
@Override
public void onSensorChanged(SensorEvent event) {
    // TODO Auto-generated method stub

     txt.setText("Orientation X (Roll) :"+ Float.toString(event.values[2]) +"\n"+  
             "Orientation Y (Pitch) :"+ Float.toString(event.values[1]) +"\n"+  
             "Orientation Z (Yaw) :"+ Float.toString(event.values[0])); 

}

}

Я прочитал Android API, но я действительно не понял, что это значит. Надеюсь, кто-то может помочь мне здесь.

Прилагается ссылка: http://developer.android.com/reference/android/hardware/SensorEvent.html#values


person Lionel Koh    schedule 10.10.2013    source источник


Ответы (1)


Все датчики Android возвращают некоторые значения шума в своих данных. Решение этой проблемы является сложной задачей. Вам придется провести небольшое исследование, чтобы найти других, кто решил эту проблему.

person Joe Malin    schedule 11.10.2013