DFRobot的商店里面有一款基于Arduino的自动浇花套件“Free Life”出售,用户完全可以按照他们提供的教程来搭建一个简易的自动浇花系统。
主要材料
:Free Life自动浇花系统控制器 | DHT11温湿度传感器 |
土壤湿度传感器 | 潜水泵(注意:必须在水中使用,不能露出水面!) |
橡胶水管 |
所需工具
:电笔 | 胶带 |
钳子 |
制作步骤
:第1步:
先将潜水泵的接头连到控制器的Solenoid Valve端子,蓝色接负极(-),棕色接正极(+);然后将电源连接头接到PWRIN端子,黑色接负极(-),红色接正极(+)。
第2步:
如上图所示,将控制板安装到白色外壳底板,然后将土壤湿度传感器连上控制板接口。将DHT11湿度传感器连上控制板接口。
第3步:
使用Micro USB线把程序写到控制器。(其实控制板出厂的时候已经写好程序,可直接使用)
第4步:
完成上述操作后,把白色盒子盖上。
在植物附近放一桶水,把水管的一端连接潜水泵,另一端“喷”向植物。需要注意的是,潜水泵必须在水里面使用,在空气中使用会损坏。
将潜水泵和电池盒(或者电源适配器)连接到潜水泵接口和电源接口。
通上电后,控制器会根据土壤湿度传感器回传的信号来判断是否需要抽水浇花。
由于不同植物对土壤的湿度需求尽不相同,用户可以通过调整控制器上的湿度调整电位器来改变浇水阈值,以适应不同的植物对土壤的湿度需求。至于具体的浇水量,用户可以在库文件进行修改。第5步:
如果你觉得配套的水管出水量过大,可以用3D打印机打印一个喷头,达到调整目的。
小贴士
:程序代码:
//功能定义:实现从上位机软件选择湿度传感器和浇水形式,同时返回土壤湿度、室内温度、湿度到上位机显示。
#include<Free_Life.h>
#include<DHT.h>
#define temperature 40 //温度阀值,用户可以自己定义
Free_Life flower;
void setup()
{
Serial.begin(115200); //波特率115200
flower.Initialization(); //初始化主控制器,选择默认湿度传感器和潜水泵
}
void loop()
{
flower.porcess(temperature); //传入室温阀值,当室内温度大于该阀值时,潜水泵强制停止
flower.print(); //输出土壤温度、室内温度、湿度给上位软件显示
delay(500);
}