#include <Wire.h>
#include<LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
const int trigPin = 9;
const int echoPin = 10;
long duration;
int distanceCm, distanceInch;
const int REd = 2;
const int Yellow = 0;
const int Green = 1;
const int button = 3;
void setup()
{
lcd.init();
lcd.backlight();
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(REd, OUTPUT);
pinMode(Yellow, OUTPUT);
pinMode(Green , OUTPUT);
pinMode(button, INPUT);
}
void loop() {
digitalWrite(trigPin, LOW);
delay(1000);
digitalWrite(trigPin, HIGH);
delay(1000);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distanceCm= duration*0.034/2;
distanceInch = duration*0.0133/2;
Serial.println("Distance: ");
Serial.println(distanceCm);
lcd.setCursor(0,0); // Sets the location at which subsequent text written to the LCD will be displayed
lcd.print("Distance: "); // Prints string "Distance" on the LCD
lcd.print(distanceCm); // Prints the distance value from the sensor
lcd.print(" cm ");
if(distanceCm < 100)
{ lcd.setCursor(0,1);
lcd.print("Red led is On ");
delay(500);
digitalWrite(REd, HIGH);
}
else if(distanceCm>100 && distanceCm<200)
{ lcd.setCursor(0,1);
lcd.print("Yellow led is On ");
delay(500);
digitalWrite(Yellow, HIGH);
}
else if(distanceCm>300)
{ lcd.setCursor(0,1);
lcd.print("Green led is On ");
delay(500);
digitalWrite(Green, HIGH);
}
}