#include <Wire.h>>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);

const int trigpin = 12;
const int echopin = 13;
long duration;
int distance;
int distance1;
//const int led = 14;

void setup() {
  Serial.begin(115200);
  lcd.init();
  lcd.clear();
  lcd.backlight();
  pinMode(trigpin, OUTPUT);
  pinMode(echopin, INPUT);
  pinMode(14, OUTPUT);
  pinMode(15, OUTPUT);
  pinMode(16, OUTPUT);
  pinMode(17, OUTPUT);
  pinMode(4, OUTPUT);

}

void loop() {
  digitalWrite(trigpin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigpin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigpin, LOW);

  distance1 = pulseIn(echopin, HIGH);
  //distance = duration * 0.03408/2;
  distance = distance1*0.0170068;
  Serial.print(distance);
  Serial.println(" cm");
  lcd.setCursor(0, 0);
  lcd.print("Distance ");
  lcd.setCursor(9, 0);
  lcd.print(distance);
  lcd.setCursor(13, 0);
  lcd.print("cm");
  delay(500);
  lcd.clear(); 
  ledg();
  ledy();
  ledo();
  ledr();
}
void ledg()
{
    
    if(distance<=400 && distance>=200)
    {digitalWrite(14, HIGH);}

  else
  {digitalWrite(14, LOW);}
  
    
}
void ledy()
{
    
    if(distance<=199 && distance>=100)
    {digitalWrite(15, HIGH);}

  else
  {digitalWrite(15, LOW);}
  
    
}
void ledo()
{
    
    if(distance<=99 && distance>=40)
    {digitalWrite(16, HIGH);}

  else
  {digitalWrite(16, LOW);}
  
    
}
void ledr()
{
    
    if(distance<=39 && distance>=0)
    {digitalWrite(17, HIGH);}
  else
  {digitalWrite(17, LOW);}
  
    
}