【问题标题】:Android: get height from pressure sensorAndroid:从压力传感器获取高度
【发布时间】:2013-06-05 18:23:00
【问题描述】:

我试图从我的压力传感器获取气压值,并从中获取高度值。我就是这样尝试的:

            @Override
            public void onSensorChanged(SensorEvent event) {
              // when pressure value is changed, this method will be called.
              float pressure_value = 0.0f;
              float height = 0.0f;

              // if you use this listener as listener of only one sensor (ex, Pressure), then you don't need to check sensor type.
              if( Sensor.TYPE_PRESSURE == event.sensor.getType() ) {
                pressure_value = event.values[0];
                System.out.println("PRESSURE" + pressure_value);
                height = SensorManager.getAltitude(SensorManager.PRESSURE_STANDARD_ATMOSPHERE, pressure_value);
                System.out.println("HÄÄÄÄÄÄÄÄ" + height);
                tv1.setText("Druck: " + pressure_value);

                tv2.setText("Höhe: " + height);

              }
            }

我为我的地方得到的价值是 440m。实际价值约为490米。我检查了我得到的压力已经是错误的。 我该怎么做才能从传感器获得准确的值??

【问题讨论】:

    标签: android height sensors pressure


    【解决方案1】:

    您拥有的代码按预期工作。压力随天气而变化,即使在海平面上,您也可以获得很大的范围,例如比如说-10% +5%..

    对于真实的高度信息,您需要进行一些校准,这意味着您在上面的代码中使用校准值而不是 SensorManager.PRESSURE_STANDARD_ATMOSPHERE

    如何进行校准完全取决于您要执行的操作。一种方法是在已知高度计算校准值。例如在已知高度获取压力,然后在代码中的调用中更改校准值,直到您获得足够接近您想要的已知高度的东西。您需要注意校准值会随天气变化。它会持续多长时间取决于您的用例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-17
      • 1970-01-01
      • 1970-01-01
      • 2021-10-29
      • 1970-01-01
      • 2016-02-08
      • 1970-01-01
      相关资源
      最近更新 更多