将ADC值从风向传感器转换为度数

时间:2017-08-04 18:53:02

标签: python

我正在使用覆盆子pi建造一个气象站,我正在尝试添加风向传感器(通过我等待接收的12位ADS1015模数转换器)。我已经浏览了一段时间如何在python中执行此操作,但只能在arduino上获得1段代码,将原始值转换为实际风向,以度为单位。

我现在希望在覆盆子pi的python中做同样的事情。

假设我在树莓派上使用连接到3.3伏特的12位ADC,如何将来自ADC的原始信号(使用adc_value = adc.read_adc(1, gain = 1)与ADC的Adafruit库获得)转换为实际风向度?传感器的模拟电压范围为输入电压的5%(表示0度)至输入电压的95%(表示360度)。我不确定如何映射它们。

1 个答案:

答案 0 :(得分:1)

我在电子表格中进行了一些建模,这就是我过去为这些设备导出线性映射的方法。假设范围内的线性:

enter image description here

根据数据表,图表和表格显示了潜在ADC值的5%至95%的线性范围。记录高点和低点后,我计算了每20度的ΔADC。然后我绘制它们并包括线性趋势线以及得到的 y = mx + b 公式。这是您需要使用的原始ADC值(基于3.3V)的转换公式。

现在,关于如何在Pi上的python中执行此操作,这是另一回事。您正在使用的设备是I2C设备。关于这个主题有很多教程。

  1. 首先,您必须在Pi上启用I2C,for example
  2. 查阅有关配置和连接I2C设备的在线教程。 Digikey上的数据表适合您的设备。
  3. 使用您使用引脚选择的地址,使用在线广泛使用的python库for example读取设备。