安卓加速度计精度极差
编写了一个打印加速度计输出的简单程序。
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%-5%的波动
据我所知,Nexus S、Nexus One和G1也存在同样的问题
有什么想法可以使模式准确/是什么设置了
解决方案
使用筛选器。你看到的是原始数据,所以它当然会波动。类似weighted average或moving average的内容就足够了。
相关文章