#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C LCD(0X27,16,2);
const int tp=4;
const int ep=3;
void setup() {
// put your setup code here, to run once:
LCD.init();
LCD.backlight();
pinMode(4, OUTPUT);
pinMode(2, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(3, INPUT);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(tp, LOW);
delayMicroseconds(2);
digitalWrite(tp, HIGH);
delayMicroseconds(10);
digitalWrite(tp, LOW);
long duration=pulseIn(ep,HIGH);
long distance=duration*0.034/2;
LCD.setCursor(0,0);
LCD.print("Distance:");
LCD.print(distance);
LCD.println(" CM");
LCD.scrollDisplayRight();
delay(100);
if(distance<=400&&distance>=350){
digitalWrite(2, HIGH);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
LCD.setCursor(0,1);
LCD.print("Low ");
}else if(distance<350&&distance>=300){
digitalWrite(2, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
LCD.setCursor(0,1);
LCD.print("Low ");
}
else if(distance<300&&distance>=200){
digitalWrite(2, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
LCD.setCursor(0,1);
LCD.print("Medium");
}else if(distance<200&&distance>=100){
digitalWrite(2, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, LOW);
LCD.setCursor(0,1);
LCD.print("Medium");
} else if(distance<100&&distance>=50){
digitalWrite(2, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
LCD.setCursor(0,1);
LCD.print("Full ");
}
}