#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,20,4);

#define soilMoisturePin 34
#define relay 15

void setup() {
  pinMode(soilMoisturePin, INPUT);
  pinMode(relay, OUTPUT);
  Serial.begin(115200);
  Wire.begin(21, 22);
  lcd.init();
  lcd.backlight();
  while (!Serial) {
    delay(100);
  }
  lcd.setCursor(2,1);
  lcd.print("AUTOMATED URBAN");
  lcd.setCursor(0,2);
  lcd.print("ALGRICULTURE SYSTEM");
  delay(500);
  lcd.clear();

}

void loop() {
int val = analogRead(soilMoisturePin);
float soil_percentage = (val==0)?0.00:(val+1)*0.024414;
Serial.println(val);
Serial.println(soil_percentage);
lcd.setCursor(0,0);
lcd.print("Soil Moist: " + String(soil_percentage));
lcd.setCursor(18,0);
lcd.print("%");
lcd.setCursor(0,1);
lcd.print("Water Sprinkle: ");
String waterSprinkle = "\0";
if(soil_percentage < 30)
  {
    waterSprinkle = "1";
    digitalWrite(relay, HIGH);
    delay(100);
  }
  else 
  {
    waterSprinkle = "0";
    digitalWrite(relay, LOW);
    delay(100);
  }
  lcd.print(waterSprinkle);
}
NOCOMNCVCCGNDINLED1PWRRelay Module