#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);}
}