构建一个智能自动浇水系统
扫描二维码
随时随地手机看文章
植物不仅能在视觉上美化环境,还能促进光合作用,吸收二氧化碳并释放氧气,从而有效净化室内空气并降低有害物质(如甲醛、苯等)的浓度,进而改善室内空气质量。但当你长时间离开时,你的这些“绿色伙伴”会怎么样呢?
这个项目解决了那个问题!我们将构建一个自动灌溉系统,其功能包括:
•持续使用土壤湿度传感器监测土壤湿度
•在 1602 液晶显示屏上显示湿度水平
•当土壤过于干燥时,会自动启动水泵。
•当检测到足够的水分时便停止浇水
所有逻辑均在 ACEBOTT ESP32 上运行,采用基于简单阈值的决策机制。本项目介绍了传感器读取、继电器控制(适用于高功率设备)以及 I2C 液晶显示屏——这些都是任何智能家居爱好者必备的技能!
所用物品
硬件
•ACEBOTT ESP32 智能家居教育套件 - 第二级(QE024)
•ESP32 控制板
•土壤湿度传感器
•5V 继电器模块
•水泵
•1602 位 I2C 液晶显示屏
•亚克力结构部件
•跳线(已包含在内)
•小容量的水容器
•植物(未包含在内)
软件
•ACECode(基于Scratch的) 或 蓝牙开发环境(Arduino IDE)
理解各组成部分
1. 土壤湿度传感器
一个湿度传感器通过检测两个金属电极之间的电阻来测量土壤中的湿度水平。土壤中的湿度会影响这种电阻值——湿度越大的土壤,电阻值越低,模拟读数也就越高(反之亦然,具体取决于您的传感器类型)。该传感器会输出一个模拟信号,我们可以通过 ESP32 的 ADC 引脚读取该信号。
接线图:
S:连接到模拟输入/输出引脚(在我们的代码中为 GPIO25)
V:连接至 5 伏电源
G:连接到地线
2. 水泵
水泵是一种机械装置,其工作原理是通过电动机驱动叶轮来完成工作的。
这种旋转会产生离心力,将液体吸入泵体,并通过管道输送到指定位置。
重要提示:ESP32 的 I/O 引脚无法提供足够的电流来直接驱动泵。这就是为什么我们需要使用继电器模块的原因!
接线图:
红色导线:连接至 5 伏电源
黑色电线:连接至 GND(通过继电器)
3. 5V 继电器模块
一个继电器是一种电子开关,它能够通过来自 ESP32 的低功率信号来控制高功率设备(比如水泵)。其工作原理如下:
在我们的电路中:
接线图:
S(信号):连接至 GPIO33(数字输出)
V:连接至 5 伏电源
G:连接到地线
COM:连接至 GND(没错,这是正确的操作——请查阅您的套件使用手册!)
编号:连接泵的负极(黑色电线)
NC:断开连接
4. 1602 位 I2C 液晶显示屏
这款 16x2 字符液晶显示屏搭配 I2C 背板,大大简化了布线工作——只需 4 根线(电源正极、地线、串行数据线、串行时钟线),而不再是 8 根以上!我们将用它来显示当前的土壤湿度读数和水泵状态。
接线图:
VCC:连接至 5 伏电源
GND:连接至地线
SDA:连接至 GPIO21(I2C 数据)
SCL:连接至 GPIO22(I2C 时钟)
“装配”
请按照套件的官方“组装”说明进行操作——第 2 级配有详细的图片说明。以下是总结内容:
第1步:准备基础材料
将底座组装好,所有组件都将安装在该底座上。
第2步:安装液晶显示屏
将 1602 液晶显示屏安装在您智能家居结构的显眼位置。
第 3 步:安装继电器模块
将继电器模块固定在靠近泵体的底座上。
第 4 步:安装水泵
将泵固定好。确保进水管插入您的水容器中,出水管插入植物中。
第 5 步:安装土壤湿度传感器
将传感器安装好,使它的触角能够插入植物的土壤中。
第 6 步:连接所有线路
按照下面的线路图操作。
第 7 步:最终安排
在水泵旁边放置一个小水容器,并将你的植物放置在其附近。
代码
逻辑概述
•读取土壤湿度传感器的模拟值
•在液晶显示屏上显示该值(例如:“H:850”)
•如果含水量低于阈值(土壤干燥):
激活继电器(高电平)→ 泵运行 500 毫秒
显示“水:开启”
•如果含水量超过阈值(已经足够潮湿):
关闭继电器(低电平)→ 泵停止运行
显示“水:关闭”
•每秒重复一次
Arduino 脚本
如何校准您的湿度传感器
代码中的“1000”这个数字只是一个起点。您需要根据您的土壤和植物的具体情况来确定合适的阈值:
•将传感器插入干燥的土壤中——记下数值(例如:800)。
•给植物浇足水——等待几分钟,然后记录数值(例如:2500)。
•选择一个介于两者之间的阈值即可。例如,如果干燥度为 800,湿度为 2500,那么将阈值设为 1500。
状况 通常值范围
非常干燥 0 - 100
湿润度 1000 - 250
湿式 2500 - 4095
注意:这些数值会因您的具体传感器和土壤类型而有所不同。请务必针对您的设备进行校准!
更新代码中的阈值:
结论
通过安装土壤湿度传感器、继电器、水泵以及液晶显示屏,我为我的 ACEBOTT 智能家居添加了智能植物养护系统。现在,即使我在度假时,我的植物也能保持水分充足!
代码
本文编译自hackster.io





