9.2 - Évaluer une distance avec 3 leds
- L C
- 18 oct. 2024
- 1 min de lecture
Dernière mise à jour : 6 déc. 2024
Principe
Si la distance est supérieure à 40 cm, la Led verte s'allume.
Si elle est comprise entre 30 et 40 cm, la Led orange s'allume.
si elle est inférieur à 20 cm, la Led rouge s'allume.
Matériel
1 carte Arduino Uno
1 breadboard
1 capteur à ultrasons HC-SR04
3 Led : rouge, jaune, verte
3 résistances 220 Ω
Fils de connexion
Matériel



Sketch
#define PIN_TRIG 12
#define PIN_ECHO 11
#define PIN_LED_ROUGE 5
#define PIN_LED_ORANGE 4
#define PIN_LED_VERTE 3
long duration_hc, distance_hc;
void setup() {
Serial.begin (9600);
pinMode(PIN_TRIG, OUTPUT);
pinMode(PIN_ECHO, INPUT);
pinMode(PIN_LED_ROUGE, OUTPUT);
pinMode(PIN_LED_ORANGE, OUTPUT);
pinMode(PIN_LED_VERTE, OUTPUT);
}
void loop() {
mesureDistance();
Serial.print("Distance ");
Serial.print(distance_hc);
Serial.println(" Cm ");
if(distance_hc > 50){
// aucune led allumé
digitalWrite(PIN_LED_ROUGE,LOW);
digitalWrite(PIN_LED_ORANGE,LOW);
digitalWrite(PIN_LED_VERTE,LOW);
}
else if(distance_hc>40){
digitalWrite(PIN_LED_ROUGE,LOW);
digitalWrite(PIN_LED_ORANGE,LOW);
digitalWrite(PIN_LED_VERTE,HIGH);
}
else if(distance_hc>30){
digitalWrite(PIN_LED_ROUGE,LOW);
digitalWrite(PIN_LED_ORANGE,HIGH);
digitalWrite(PIN_LED_VERTE,LOW);
}
else if(distance_hc>0){
digitalWrite(PIN_LED_ROUGE,HIGH);
digitalWrite(PIN_LED_ORANGE,LOW);
digitalWrite(PIN_LED_VERTE,LOW);
}
else{
digitalWrite(PIN_LED_ROUGE,LOW);
digitalWrite(PIN_LED_ORANGE,LOW);
digitalWrite(PIN_LED_VERTE,LOW);
}
}
void mesureDistance(){
digitalWrite(PIN_TRIG, LOW);
delayMicroseconds(2);
digitalWrite(PIN_TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(PIN_TRIG, LOW);
duration_hc = pulseIn(PIN_ECHO, HIGH);
Serial.println(duration_hc);
distance_hc = duration_hc / 58;
}
Réalisation
Cas 1


Cas 2


Cas 3

