#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27
#define LCD_COLUMNS 16
#define LCD_LINES 2
#define soil 3
#define Red 4
#define green 5
#define Relay 6
int val;
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
void setup() {
// Init
Serial.begin(9600);
lcd.init();
lcd.backlight();
pinMode(3, INPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
// Print something
lcd.setCursor(0, 0);
lcd.print("Automatic Plant");
lcd.setCursor(0, 1);
lcd.print("watering system");
delay (5000);
lcd.clear();
}
void loop() {
val= digitalRead(soil);
if(digitalRead(soil) == LOW){
Serial.println(val);
digitalWrite(Red, HIGH);
digitalWrite(green,LOW);
digitalWrite(Relay,HIGH);
lcd.setCursor(0, 0);
lcd.print("Soil is dry");
lcd.setCursor(0, 1);
lcd.print("Pump will on ");
} else {
digitalWrite(Red, LOW);
digitalWrite(green, HIGH);
digitalWrite(Relay, LOW);
lcd.setCursor(0, 0);
lcd.print("Soil is wet now");
lcd.setCursor(0, 1);
lcd.print("Pump will off");
delay(500);
}
}
This is an example of
Soil sensor
if press, wet and pump off.
This is an example of
Relay on and off
if LED green light on,
it is pump on.