const int trigPin = 9;
const int echoPin = 10;
const int buzzerPin = 8;
const int ledPin = 7;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(buzzerPin, OUTPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
// Trigger ultrasonic pulse
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Read echo duration
long duration = pulseIn(echoPin, HIGH, 30000);
float distance = duration * 0.034 / 2;
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
if (distance > 0 && distance < 13) {
int delayTime = map((int)distance, 1, 13, 50, 300);
// Buzzer logic reversed here: LOW = ON, HIGH = OFF
digitalWrite(buzzerPin, LOW); // ON (inverted)
digitalWrite(ledPin, HIGH);
delay(delayTime);
digitalWrite(buzzerPin, HIGH); // OFF (inverted)
digitalWrite(ledPin, LOW);
delay(delayTime);
} else {
// Everything OFF
digitalWrite(buzzerPin, HIGH); // OFF (inverted)
digitalWrite(ledPin, LOW);
}
delay(50);
}