#include <Wire.h> // Library for I2C communication
#include <LiquidCrystal_I2C.h> // Library for LCD
LiquidCrystal_I2C lcd = LiquidCrystal_I2C(0x27, 16, 2); // Change to (0x27,16,2) for 16x2 LCD.my address is (0x3F)
int trigPin = A0;
int echoPin = A1;
long distance;
long distanceInch;
long duration;
const int buzzerPin = 9;
void setup(){
pinMode(buzzerPin, OUTPUT);
lcd.init();
lcd.backlight();
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
lcd.setCursor(6,0);
lcd.print("O6U");
lcd.setCursor(0,1);
lcd.print("Computer science");
delay(2000);
}
void loop() {
ULTRASONIC();
lcd.clear();
lcd.setCursor(0,0);
lcd.print("DISTANCE:");
lcd.print(distance);
lcd.print(" cm");
lcd.setCursor(0,1);
if(distance >= 16){
lcd.print("----------------");
analogWrite(buzzerPin, 127);
delay(300);
analogWrite(buzzerPin,0);
delay(10000);
}
else if (distance == 15) {
lcd.print("===============");
} else if (distance == 14) {
lcd.print("==============");
}else if (distance == 13) {
lcd.print("============");
}else if (distance == 12) {
lcd.print("===========");
}else if (distance == 11) {
lcd.print("==========");
}else if (distance == 10) {
lcd.print("=========");
}else if (distance == 9) {
lcd.print("========");
}else if (distance == 8) {
lcd.print("=======");
}else if (distance == 7) {
lcd.print("======");
}else if (distance == 6) {
lcd.print("=====");
}else if (distance == 5) {
lcd.print("====");
}else if (distance == 4) {
lcd.print("===");
}else if (distance == 3) {
lcd.print("==");
}else if (distance == 2) {
lcd.print("=");
}else if (distance == 1) {
lcd.print("X");
}
if(distance < 16 && distance >= 10 ){
analogWrite(buzzerPin, 127);
lcd.noBacklight();
delay(300);
lcd.backlight();
analogWrite(buzzerPin,0);
delay(300);
}else if (distance < 10 && distance >= 5 ) {
analogWrite(buzzerPin, 127);
lcd.noBacklight();
delay(300);
lcd.backlight();
analogWrite(buzzerPin,0);
delay(100);
}else if (distance < 5 ) {
analogWrite(buzzerPin, 127);
lcd.noBacklight();
delay(300);
lcd.backlight();
analogWrite(buzzerPin,0);
delay(50);
}
}
void ULTRASONIC(){
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration*0.034/2;
delay(5);
}