const int trigPin = 9;
const int echoPin = 10;
const int buzzerPin = 8;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(buzzerPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2; // Conversion en cm
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
// Contrôle du buzzer
if (distance <= 15) { // Si objet à moins de 5 cm
int frequency = map(distance, 0, 100, 2000, 5000); // Plus aigu quand plus proche
tone(buzzerPin, frequency, 100);
delay(distance * 10); // Bips plus rapprochés si proche
} else {
noTone(buzzerPin);
}
if (distance >= 10 && distance <= 15) digitalWrite(3, HIGH); else digitalWrite(3, LOW);
if (distance >= 5 && distance <= 9) digitalWrite(6, HIGH); else digitalWrite(6, LOW);
if (distance < 5) digitalWrite(7, HIGH); else digitalWrite(7, LOW);
}