const int trigPin=9, echoPin=10, buzzerPin=6;
long distanceCm() {
digitalWrite(trigPin, LOW); delayMicroseconds(2);
digitalWrite(trigPin, HIGH); delayMicroseconds(10);
digitalWrite(trigPin, LOW);
unsigned long t=pulseIn(echoPin, HIGH, 25000);
if (t==0) return 0;
return t*0.0343/2.0;
}
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(buzzerPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
long cm=distanceCm();
Serial.println(cm);
if (cm==0 || cm>50) {
digitalWrite(buzzerPin, LOW); delay(100); return;
}
digitalWrite(buzzerPin, HIGH); delay(80);
digitalWrite(buzzerPin, LOW);
if (cm>20) delay(650); else delay(120);
}