#include <LiquidCrystal.h>
#define trig_PIN 2
#define echo_PIN 3
const int buzzer_PIN = 10;
const int rs = 4;
const int en = 5;
const int d4 = 6;
const int d5 = 7;
const int d6 = 8;
const int d7 = 9;
LiquidCrystal lcd (rs, en, d4, d5, d6, d7);
long int duration;
long int distance;
void setup()
{
lcd.begin(16, 2);
pinMode(trig_PIN, OUTPUT);
pinMode(echo_PIN, INPUT);
pinMode(buzzer_PIN, OUTPUT);
Serial.begin(9600);
}
void loop()
{
digitalWrite(trig_PIN, LOW);
delayMicroseconds(2);
digitalWrite(trig_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(trig_PIN, LOW);
duration = pulseIn(echo_PIN, HIGH);
distance = duration / 58;
lcd.setCursor(0,0);
lcd.print("Distance: ");
lcd.print(distance);
lcd.print(" cm ");
Serial.println(distance);
if (distance > 100) {
noTone(buzzer_PIN);
delay(500);
}
else if (distance > 20) {
tone(buzzer_PIN, 1000);
delay(400);
noTone(buzzer_PIN);
delay(400);
}
else if (distance > 10) {
tone(buzzer_PIN, 1000);
delay(200);
noTone(buzzer_PIN);
delay(200);
}
else if (distance > 5) {
tone(buzzer_PIN, 1000);
delay(80);
noTone(buzzer_PIN);
delay(80);
}
else {
tone(buzzer_PIN, 1000);
}
}