import machine
import time
# Configuration des broches (à adapter selon votre câblage)
TRIG_PIN = 25
ECHO_PIN = 18
RELAY_PIN = 22
trigger = machine.Pin(TRIG_PIN, machine.Pin.OUT)
echo = machine.Pin(ECHO_PIN, machine.Pin.IN)
relay = machine.Pin(RELAY_PIN, machine.Pin.OUT)
# Seuil de détection en cm
SEUIL_DISTANCE = 20
def get_distance():
# Envoyer une impulsion de 10 µs sur la broche TRIG
trigger.value(0)
time.sleep_us(2)
trigger.value(1)
time.sleep_us(10)
trigger.value(0)
# Attendre le retour de l'écho (avec un timeout de 30ms)
duree = machine.time_pulse_us(echo, 1, 30000)
# Calcul de la distance : distance = (temps × vitesse du son) ÷ 2
if duree > 0:
distance = (duree * 0.0343) / 2
return distance
else:
return 9999 # Valeur hors de portée si erreur
while True:
distance = get_distance()
print(f"Distance : {distance:.2f} cm")
if distance < SEUIL_DISTANCE:
relay.value(1) # Allume la LED via le relais
else:
relay.value(0) # Éteint la LED via le relais
time.sleep(0.5) # Pause avant la prochaine mesure