我正在使用树莓派构建一个气象站,并尝试添加风向传感器(通过我正在等待接收的 12 位 ADS1015 模数转换器)。我已经查看了一段时间如何在 python 中执行此操作,但只能让一段代码在 arduino 上运行,以将原始值转换为以度为单位的实际风向。
我现在希望在树莓派上用 python 做同样的事情。
假设我在树莓派上使用连接到 3.3 伏电压的 12 位 ADC,我如何转换来自 ADC 的原始信号(使用 adc_value = adc.read_adc(1, gain = 1)
使用 ADC 的 Adafruit 库)转换为以度为单位的实际风向?传感器的模拟电压范围从输入电压的5%(表示0度)到输入电压的95%(表示360度)。我不确定如何映射它们。
最佳答案
我在电子表格中做了一些建模,这是我过去为此类设备导出线性映射的方式。假设在范围内呈线性:
根据数据表,图表和表格展示了从潜在 ADC 值的 5% 到 95% 变化的线性范围。记录高点和低点后,我计算了每 20 度的增量 ADC。然后我绘制了它们并将线性趋势线与生成的 y=mx+b 公式一起包含在内。这是您需要使用的原始 ADC 值(基于 3.3V)的转换公式。
现在,至于如何在 Pi 上的 python 中执行此操作,那是另一回事。您使用的设备是 I2C 设备。有很多关于这个主题的教程。
- 首先,您必须在 Pi 上的 Linux 上启用 I2C,for example .
- 查阅有关配置和连接 I2C 设备的在线教程。 Digikey 上适用于您设备的数据表是一个很好的起点。
- 使用您通过引脚选择的地址,使用广泛在线提供的 python 库读取设备,for example .
关于python - 将风向传感器的ADC值转换为度数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45513721/