#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int trigPin = 8;
int echoPin = 9;
//define variable
long duration;
int distance;
int led1= 3;
int led2= 4;
int led3= 5;
int buzzer= 6;
void setup() {
Serial.begin(9600);
lcd.init();
lcd.clear();
lcd.backlight();
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(buzzer, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
//Clears the trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
//Set the trigPin on HIGH for 10 micro seconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
//Reads the echoPin, returns the sound wave travel time in microseconds
duration = pulseIn(echoPin, HIGH);
//Calculate the distance
distance = duration*0.034/2;
if (distance <-20 && distance >-18)
{
//display warning
//led on
lcd.setCursor(1,0); //Set cursor to character 2 on line 0
lcd.print("WARNING");
digitalWrite(led1, HIGH);
}
if (distance <18)
{
//display warning
//led blinking
//buzzer on
lcd.setCursor(1,0); //Set cursor to character 2 on line 0
lcd.print("Too close");
digitalWrite(buzzer, HIGH);
}
}