const int TRIG_PIN = 13; // Broche de déclenchement du capteur ultrasonique
const int ECHO_PIN = 12; // Broche de réception du capteur ultrasonique
int ledR = 6; // Broche de la LED rouge
int ledY = 5; // Broche de la LED jaune
int ledG = 4; // Broche de la LED verte
float duration, distance;
void setup() {
Serial.begin(9600); // Initialisation de la communication série avec une vitesse de 9600 bauds
pinMode(TRIG_PIN, OUTPUT); // Configuration de la broche TRIG_PIN en mode sortie
pinMode(ECHO_PIN, INPUT); // Configuration de la broche ECHO_PIN en mode entrée
pinMode(ledR, OUTPUT); // Configuration de la broche de la LED rouge en mode sortie
pinMode(ledY, OUTPUT); // Configuration de la broche de la LED jaune en mode sortie
pinMode(ledG, OUTPUT); // Configuration de la broche de la LED verte en mode sortie
}
void loop() {
digitalWrite(TRIG_PIN, LOW); // Désactive la broche de déclenchement
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH); // Active la broche de déclenchement pendant 10 microsecondes
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW); // Désactive la broche de déclenchement
duration = pulseIn(ECHO_PIN, HIGH); // Mesure la durée du signal sur la broche ECHO_PIN
distance = (duration * 0.0343) / 2; // Calcule la distance en centimètres
Serial.print("Distance : ");
Serial.println(distance);
delay(100);
if (distance < 100) { // Si la distance est inférieure à 100 cm
digitalWrite(ledR, HIGH); // Active la LED rouge
digitalWrite(ledY, LOW); // Désactive la LED jaune
digitalWrite(ledG, LOW); // Désactive la LED verte
} else if (distance >= 100 && distance <= 300) { // Si la distance est entre 100 et 300 cm
digitalWrite(ledR, LOW); // Désactive la LED rouge
digitalWrite(ledY, HIGH); // Active la LED jaune
digitalWrite(ledG, LOW); // Désactive la LED verte
} else { // Si la distance est supérieure à 300 cm
digitalWrite(ledR, LOW); // Désactive la LED rouge
digitalWrite(ledY, LOW); // Désactive la LED jaune
digitalWrite(ledG, HIGH); // Active la LED verte
}
}