const int trigPin = 9;
const int echoPin = 10;
const int ledPin = 6;
const int buzzPin = 5;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(buzzPin, OUTPUT);
Serial.begin(9600);
}
long readDistance() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long t = pulseIn(echoPin, HIGH, 30000);
if (t == 0) return 999;
return t * 0.034 / 2;
}
void loop() {
long d = readDistance();
Serial.println(d);
if (d < 50) {
int pause = map(d, 2, 50, 30, 500);
pause = constrain(pause, 30, 500);
digitalWrite(ledPin, HIGH);
tone(buzzPin, 2000);
delay(50);
digitalWrite(ledPin, LOW);
noTone(buzzPin);
delay(pause);
} else {
digitalWrite(ledPin, LOW);
noTone(buzzPin);
delay(100);
}
}