我有一个温度传感器,其分辨率为0.25°C,但精度为±3°C。
因此,如果我达到23.75°C,它实际上可能是26.75°C和20.75°C之间的任何值。如何使用UserSensor.Builder()
?
我应该使用setResolution()
吗?我应该提供什么价值? 6? 3? 0.25
修改
我只想解释为什么可能需要这个功能:我可能有多个相同类型的传感器,每个传感器具有不同的精度,我想更准确地采用这个传感器。
例如,我可以使用我的传感器,分辨率为0.25°C,精度为±3°C,另一个温度传感器的分辨率为0.5但精度为±1°C。我希望系统选择第二个传感器,因为精度优于第一个传感器。
答案 0 :(得分:1)
“我有一个温度传感器,其精度为±3°C。因此,如果我得到23.75°C,它实际上可以是26.75°C到20.75°C之间的任何温度。我如何使用UserSensor.Builder来指定它()?“
在UserSensor.Builder中没有设置传感器精度的方法。
“我应该使用
setResolution()
吗?我应该提供什么价值?6?3?0.25?”
根据HAL documentation,resolution
是“传感器可以测量的最小值差异。通常根据maxRange和测量中的位数计算。”
由于您的传感器“提供的分辨率为0.25°C”,您应该使用setResolution()来设置其分辨率,而不是准确度。
“我可能有多个相同类型的传感器,每个传感器具有不同的精度,我希望系统能够选择具有更高精度的传感器”。
系统无法为您完成。您应该实现“选择正确”传感器的算法。作为标准,您可以根据传感器的规格获得更高精度的标准。