#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <dht.h> //include dht11 library
dht DHT;
#define DHT11_PIN 7
int moisturePin = A0;
int ldrPin = A1;
int relayPin = 8;
// Initialize the LCD object
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup()
{
// Initialize the LCD display
lcd.init();
lcd.backlight();
Serial.begin(9600);
pinMode(moisturePin, INPUT);
pinMode(ldrPin, INPUT);
pinMode(relayPin, OUTPUT);
}
void loop()
{
int moistureValue = analogRead(moisturePin);
int ldrValue = analogRead(ldrPin);
DHT.read11(DHT11_PIN);
lcd.setCursor(0,0);
lcd.print("SM:");
lcd.println(moistureValue);
Serial.print(moistureValue);
Serial.println("\n");
lcd.print(" ");
lcd.print("L:");
lcd.print(ldrValue);
Serial.println(ldrValue);
Serial.println("\n");
lcd.setCursor(0,1);
lcd.print("T:");
lcd.print(DHT.temperature);
lcd.print(" ");
Serial.println("\n");
Serial.println(DHT.temperature);
lcd.print("H:");
lcd.print(DHT.humidity);
Serial.println("\n");
Serial.println(DHT.humidity);
if (moistureValue < 500)
{
digitalWrite(relayPin, HIGH);
lcd.setCursor(15,0);
lcd.print("W");
}
else
{
digitalWrite(relayPin, LOW);
lcd.setCursor(15,0);
lcd.print(" ");
}
delay(5000);
}