#define TRIG_PIN A0
#define ECHO_PIN A1
#define LED_ROUGE A3
#define LED_JAUNE A5
long duration;
float distance;
void setup() {
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(LED_ROUGE, OUTPUT);
pinMode(LED_JAUNE, OUTPUT);
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(9600);
}
void loop() {
// Envoi de l'impulsion
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// Lecture de l'écho
duration = pulseIn(ECHO_PIN, HIGH);
// Calcul de la distance (cm)
distance = duration * 0.034 / 2;
Serial.print("Distance: ");
Serial.println(distance);
// Logique LEDs
if (distance > 0 && distance < 30) {
digitalWrite(LED_ROUGE, HIGH);
digitalWrite(LED_JAUNE, LOW);
} else {
digitalWrite(LED_ROUGE, LOW);
digitalWrite(LED_JAUNE, HIGH);
}else{
}
delay(200);
}
Loading
st-nucleo-l031k6
st-nucleo-l031k6