#include <LiquidCrystal_I2C.h>
#include "DHT.h"
#include <Servo.h>
#define DHTPIN 1
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27,16,2);
Servo myservo;
int Soil = A0;
int Relay = 0;
int Buzzer = 2;
void setup() {
// put your setup code here, to run once:
pinMode(Soil, INPUT);
pinMode(Relay, INPUT);
pinMode(Buzzer, OUTPUT);
myservo.attach(6);
lcd.init();
lcd.backlight();
dht.begin();
}
void loop() {
// put your main code here, to run repeatedly:
int Moisture = analogRead(Soil);
float humidity = dht.readHumidity();
float temp = dht.readTemperature();
if (temp>35){myservo.write(90);}
else{myservo.write(0);}
lcd.setCursor(0,0); lcd.print("Humidity: "); lcd.print(humidity);
lcd.setCursor(0,1); lcd.print("Temp: "); lcd.print(temp);
delay(1500);
if (Moisture<565){lcd.setCursor(0,1); lcd.print("Soil: Dry"); digitalWrite(Relay, HIGH); digitalWrite(Buzzer, HIGH); delay(1500); digitalWrite(Relay,LOW);digitalWrite(Buzzer,LOW);}
else if (Moisture>725 && Moisture<886){lcd.setCursor(0,1); lcd.print("Soil: Damp");}
else{lcd.setCursor(0,1); lcd.print("Soil: Wet");}
delay(1500);
}