项目简介
本项目是基于Arduino的自动土壤湿度控制灌溉系统,通过测量土壤湿度自动判断是否需要灌溉,能保证植物在最佳湿度环境生长,同时避免水资源浪费。
项目的主要特性和功能
- 实时监测土壤湿度:利用Arduino UNO主控板对土壤湿度进行实时监测。
- 自动控制灌溉:借助土壤湿度传感器感知湿度,湿度低于设定阈值时启动水泵灌溉,高于阈值则关闭水泵。
- 显示湿度信息:通过LCD显示屏实时展示土壤湿度情况。
- 节能环保:依据土壤湿度自动调节灌溉,避免水资源浪费。
安装使用步骤
前提条件
- 已安装Arduino IDE。
- 具备Arduino UNO开发板、土壤湿度传感器、5V继电器模块、迷你水泵、5V电源、连接线缆、土壤储水槽、LCD显示屏及I2C驱动等硬件。
安装步骤
- 安装Arduino IDE:从Arduino IDE下载并安装。
- 安装LiquidCrystal_I2C库:从LiquidCrystal_I2C下载库文件,在Arduino IDE中选择
Sketch -> Include Library -> Add .ZIP Library
,选择下载的库文件完成安装。 - 连接硬件:按照项目提供的连接图,用线缆连接Arduino UNO、土壤湿度传感器、继电器模块、迷你水泵等硬件。
- 上传代码:将以下代码复制到Arduino IDE中并点击“上传”按钮上传到Arduino开发板。 ```cpp
include
LiquidCrystal_I2C lcd(0x27, 16, 2);
define NEM_OLCER_GUC 7
define NEM_OLCER_PIN A0
define ROLE_PIN 2
define ROLE_ACIK HIGH
define ROLE_KAPALI LOW
define LIMIT_SEVIYE 750
int roleOncekiDurumu = ROLE_KAPALI; int roleSuankiDurumu = ROLE_KAPALI;
void setup() { pinMode(NEM_OLCER_GUC, OUTPUT); pinMode(ROLE_PIN, OUTPUT); pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(ROLE_PIN, ROLE_KAPALI); digitalWrite(NEM_OLCER_GUC, HIGH);
lcd.begin(); lcd.setCursor(3, 0); lcd.print("Nem Dusuk");
Serial.begin(9600); }
void loop() { digitalWrite(LED_BUILTIN, HIGH); delay(500); digitalWrite(LED_BUILTIN, LOW); delay(500);
int nemSeviyesi = nemSeviyesiniOlc();
if(nemSeviyesi <= LIMIT_SEVIYE){ roleSuankiDurumu = ROLE_KAPALI; }else{ roleSuankiDurumu = ROLE_ACIK; }
Serial.println(nemSeviyesi);
if(roleOncekiDurumu == roleSuankiDurumu) return;
lcd.clear(); lcd.setCursor(3, 0); if(nemSeviyesi <= LIMIT_SEVIYE){ lcd.print("Nem Yuksek"); digitalWrite(ROLE_PIN, ROLE_KAPALI); }else{ lcd.print("Nem Dusuk"); digitalWrite(ROLE_PIN, ROLE_ACIK); }
roleOncekiDurumu = roleSuankiDurumu; delay(1000); }
int nemSeviyesiniOlc() { digitalWrite(NEM_OLCER_GUC, HIGH); delay(50); int val = analogRead(NEM_OLCER_PIN); digitalWrite(NEM_OLCER_GUC, LOW); return val; } ```
使用步骤
- 启动系统:系统启动后,土壤湿度传感器实时监测土壤湿度,湿度低于设定阈值启动水泵灌溉,高于阈值关闭水泵。
- 查看湿度信息:通过LCD显示屏查看实时土壤湿度。
- 维护与调试:定期检查硬件连接保证系统正常运行,若有异常可参考调试文档排查修复。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】