gpt4 book ai didi

Android:从压力传感器获取高度

转载 作者:行者123 更新时间:2023-11-29 01:52:52 28 4
gpt4 key购买 nike

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

            @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);

}
}

我为我的位置获得的值(value)是 440 米。实际值(value)约为 490 米。我检查我得到的压力已经是错误的。我该怎么做才能从传感器获得准确的值??

最佳答案

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

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

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

关于Android:从压力传感器获取高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16915076/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com