#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int soilMoisture = A0;
const int RELAY= 7;
int sensorValue = 0;
int moisturePercent = 0;
int Led=12;
void setup()
{
lcd.init();
lcd.backlight();
lcd.clear();
pinMode(RELAY, OUTPUT);
pinMode(Led, OUTPUT);
}
void loop()
{
sensorValue = analogRead(soilMoisture);
moisturePercent = map(sensorValue, 0, 1020, 100, 0);
lcd.setCursor(0, 0);
lcd.print(moisturePercent);
lcd.print(" % ");
if (moisturePercent < 40)
{
lcd.setCursor(0, 1);
lcd.print("Watering ");
digitalWrite(RELAY, HIGH);
digitalWrite(Led, HIGH);
}
else
{
digitalWrite(RELAY, LOW);
lcd.setCursor(0, 1);
lcd.print("Not watering ");
digitalWrite(Led, LOW);
}
}