硬件选型
水位测量模块
TDS采集模块
外置ADC模块(ADS1115)
水位测量模块使用方法
水位测量原理
压力传感器:水越深压力越大
P= ρgh
F=ps
F=ρgh*s + P大气压
水位测量传感器本质上是一个压力测量传感器。压力的值和传感器产生的电压值是线性关系,压力的值和水深也是线性关系。根据这个原理,我们不需要知道具体的电压,就可以测量出来水位。
假设水位是x,从ADC读取的值y。(y不必转成具体的电压)。则有下面的等式成立:
y= ax +b
当水管没有放入水里时,
x1 = 0 ,y1 = b(测出y1)
当水管放入水里10cm时,
x2 = 10,则 y2 = 10a + b (测出y2)
从而计算出来:
b = y1;a = (y2 - y1)/10
所以有:
x = (y - b)/a*y
我们实时测,从而计算出来 x (水位)的值
读取时序图
TDS采集模块使用方法
TDS采集原理
当水中的导电粒子多时,导电性好,采集到的电压高;导电粒子少时导电性差,采集到的电压低。可以简单的认为水中杂质多时,导电粒子多,杂质少时导电粒子少。所以可以通过采集的电压高低来计算TDS的值。
TDS内部有一个固定的函数,可以通过手册进行查看。
通过这个函数可以看到电压值对应的TDS的值。
ADC模块ADS1115使用方法
ADC模块提供了5个寄存器(查看手册)
读写时序
软件架构