电路图
首页 > 微机单片机 >单片机制作 > 利用ESP32制作一个电容式土壤湿度传感器
利用ESP32制作一个电容式土壤湿度传感器

湿度传感器 ESP32 2023/12/25

为了方便给冬季大棚里养护的植物浇水,我准备建立一个系统以备不时之需。

思考再三后,我的结论是准备自己做一个传感器,因为对于我的植物浇水项目(即将到来),我需要几个传感器用于几个植物。

我选择ESP32作为微控制器,因为它具有多个12位ADC输入,并且能够以比ArduinoUno等更高的频率生成PWM信号。在这个项目中,将为每个传感器生成一个600kHz的信号。

该传感器由广泛使用的简单低成本材料制成,可用作电容式湿度传感器。

第1步:制作湿度传感器

DIY传感器由简单的材料制成:

一些音频线

两个火锅叉

接线端子

塑料座椅腿套

硅胶膏

poYBAGJ2PdqACLNhAALvpLHHuDU056.png

销从火锅叉上切下,镀铬有助于避免腐蚀。带有接线端子的结构可以轻松地将铜电缆线连接到镀铬引脚。销(不弯曲)便于插入植物的土壤中。

作为测量水分含量的指标,我正在重复使用为我之前的项目开发的水位指示器:

poYBAGJ2PdaASRpRAAHNctbKMpw670.png

第4步:电子设置

在面包板设置中,我使用了ESP32s(节点MCU)。这种选择的原因如介绍中所述。

我的计划是扩展这个设置,使其具有制作完整的植物浇水系统的功能,并具有在线监测和警告功能。(ESP32板载WiFi和蓝牙)。

电路图(用Fritzing制作)如下:

pYYBAGJ2PdKAPF4zAATgiZAVkTY871.png

传感器电路图如下:

pYYBAGJ2Pc6AYTOpAAJq5APF2Qw966.png

面包板上的实际设置如下所示:

poYBAGJ2PcqAP9zpAAQP6ehs6nw388.png

ESP32由USB端口提供5V电源,并且板载3、3V稳压器。一个输出GPIO引脚通过10KOhm电阻连接到湿度传感器的一侧,并在5次测量期间(持续5秒)向传感器发送600kHz信号。ESP32(12位ADC)的一个输入引脚通过二极管和R/C网络(1MOhm和1uF)连接。传感器的另一条腿连接到GND。

传感器仅在测量期间通电,以避免对镀铬笔产生电解影响。

在我的实验中,我通过将传感器放入水中(最低测量值)和露天(最高值)来确定传感器的最小值和最大值。将传感器放入花盆中会产生介于最小值和最大值之间的中间值,具体取决于土壤湿度水平。中间值的比例似乎是相当线性的。

第3步:制作软件

ArduinoSketch中的循环函数很简单,只包含调用2个函数:

pYYBAGJ2PcaATviJAAA12Z6gUHw856.png

测量之间的1秒延迟仅用于实验和演示目的。在实际应用中,这种频率会低得多(通常每天几次,取决于植物的口渴程度)

ARDUINOIDE的绘图监视器以及串行监视器在实验过程中非常有用。绘图监视器图的视图如下所示:

poYBAGJ2PcKALHBXAAFXqkvn6OA429.png

plotmonitor上的读数显示由12位ADC测量的值。ESP32的完整3.3V刻度除以4096,即:每步0.8mV。

使用以下代码测量水分含量:

poYBAGJ2Pb6ARMHcAAGnPpUuAwM877.png

此后根据上表确定平均值所在的括号,并在湿度指示器上用颜色指示湿度水平,这要归功于《Adafruit_NeoPixel.h》库:

pYYBAGJ2PbeAf1MvAACUdBrv_nI924.png

要通过USB端口将草图下载到ESP32,需要按住Boot按钮。

提问/讨论

这里还没有内容,您有什么问题吗?

我要提问/讨论

可能感兴趣的电路图
可能感兴趣的器件
推荐帖子