#define PIN_TRIG 7 #define PIN_ECHO 6 #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 > 200){ // aucune led allumé digitalWrite(PIN_LED_ROUGE,LOW); digitalWrite(PIN_LED_ORANGE,LOW); digitalWrite(PIN_LED_VERTE,LOW); } else if(distance_hc>100){ digitalWrite(PIN_LED_ROUGE,LOW); digitalWrite(PIN_LED_ORANGE,LOW); digitalWrite(PIN_LED_VERTE,HIGH); } else if(distance_hc>50){ 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; }