#include <Wire.h>
#include <LiquidCrystal_I2C.h>
int tPin = 6;
int ePin = 5;
LiquidCrystal_I2C lcd(0x27,16,2);
long distance, duration;
void setup()
{
lcd.init();
lcd.backlight();
pinMode(tPin, OUTPUT);
pinMode(ePin, INPUT);
Serial.begin(9600);
}
void loop()
{
lcd.setCursor(0,0);
lcd.print("distance = ");
lcd.print(distance);
digitalWrite(tPin, LOW);
delayMicroseconds(2);
digitalWrite(tPin, HIGH);
delayMicroseconds(10);
duration = pulseIn(ePin, HIGH);
distance = (duration/2)/29.1;
if(distance < 15)
{
Serial.println("too close");
lcd.setCursor(0,1);
lcd.print("too close");
}
else if(distance > 15 && distance < 50)
{
Serial.println("safe distance");
lcd.setCursor(0,1);
lcd.print("safe distance");
}
else if(distance > 50)
{
Serial.println("long distance");
lcd.setCursor(0,1);
lcd.print("long distance");
}
Serial.print("distance: ");
Serial.println(distance);
delay(500);
lcd.clear();
}