#include"RTClib.h"
#include<LiquidCrystal_I2C.h>
#define I2C_ADDR    0x27
#define LCD_COLOUMNS 20
#define LCD_LINES    4
LiquidCrystal_I2C lcd(I2C_ADDR,LCD_COLOUMNS,LCD_LINES);
RTC_DS1307 rtc;
char daysOfTheWeek[7][12]={"sunday","monday","tuesday","wednesday","thursday","friday","saturday"};
void setup()
{
  Serial.begin(115200);
  lcd.init();
  lcd.backlight();
  lcd.setCursor(3,0);
  lcd.print("WELCOME TO");
  lcd.setCursor(2,1);
  lcd.print("SMART AGRICULTURE");
  lcd.setCursor(5,2);
  lcd.print("IRRIGATION");
  lcd.setCursor(7,3);
  lcd.print("SYSTEM");
  delay(4000);
  lcd.clear();
  if(!rtc.begin())
  {
    Serial.println("couldn't find RTC");
    Serial.flush();
    abort();
  }
}
void loop()
{
  DateTime now=rtc.now();
  lcd.setCursor(3,0);
  lcd .print("Time:");
  lcd.print(now.hour(),DEC);
  lcd.print(":");
  lcd.print(now.minute(),DEC);
  lcd.print(":");
  lcd.print(now.second(),DEC);
  delay(500);
  if(Serial.available()>0)
  {
    data =Serial.readString();
    Serial.println(data);
    data.trim();
    if(data=="relay1 on")
    {
      Serial .println("relay1 is on condition");
      lcd.setCursor(0,1);
      lcd .print(" relay1 on");
      digitalWrite(relay1 , HIGH);}
      if(data=="relay1 off")
      {
        Serial .println("relay1 is  off condition");
        digitalWrite(relay1,LOW);
      }

  lcd.setCursor(0,1);
  lcd.print("RELAY1:");
   lcd.setCursor(10,1);
   lcd.print("RELAY2:");
   lcd.setCursor(0,2);
   lcd.print("RELAY3:");
   lcd.setCursor(10,2);
   lcd.print("RELAY4:");
 delay(1000);
}

  
  


GND5VSDASCLSQWRTCDS1307+
NOCOMNCVCCGNDINLED1PWRRelay Module
NOCOMNCVCCGNDINLED1PWRRelay Module
NOCOMNCVCCGNDINLED1PWRRelay Module
NOCOMNCVCCGNDINLED1PWRRelay Module