Combiner le capteur de distance et les feux de circulation

Pour utiliser conjointement un capteur de distance HC-SR04 et des feux de signalisation LED (rouge, jaune, verte) avec une Raspberry Pi Pico en MicroPython, vous pouvez créer un système où la couleur du feu de signalisation change en fonction de la distance mesurée par le capteur HC-SR04. Voici un scénario possible :

Matériel nécessaire :

Connexions :

Code MicroPython :

import machine import utime # Configuration des broches pour les LEDs led_rouge = machine.Pin(2, machine.Pin.OUT) led_jaune = machine.Pin(3, machine.Pin.OUT) led_verte = machine.Pin(4, machine.Pin.OUT) # Configuration des broches pour le capteur HC-SR04 trigger = machine.Pin(5, machine.Pin.OUT) echo = machine.Pin(6, machine.Pin.IN) def mesure_distance(): trigger.low() utime.sleep_us(2) trigger.high() utime.sleep_us(5) trigger.low() while echo.value() == 0: signal_off = utime.ticks_us() while echo.value() == 1: signal_on = utime.ticks_us() temps_parcours = signal_on - signal_off distance = (temps_parcours * 0.0343) / 2 return distance while True: distance = mesure_distance() print("Distance:", distance, "cm") if distance < 10: led_rouge.on() led_jaune.off() led_verte.off() elif distance < 30: led_rouge.off() led_jaune.on() led_verte.off() else: led_rouge.off() led_jaune.off() led_verte.on() utime.sleep(1)

Explication :