Ce capteur permet de mesurer la distance en centimètres séparant le capteur d’un obstacle allant de 2cm à 4m.
Son montage va nécessiter deux pattes logiques (Trigger et Echo), en plus de Vcc et Gnd.
L’initialisation se fait par la méthode set_pin_mode_sonar(Trigger_pin,Echo_pin, callback).
La lecture hors callback se fait par la méthode sonar_read(Trigger_pin).
Exemple utilisant un callback
from pymata4 import pymata4 import sys import time carte = pymata4.Pymata4() print("--------------- Début --------------") # Constantes Trigger_pin = 8 # port du Trigger D8 Echo_pin = 7 # port du Echo D7 #------------------ fonction callback def nouvelle_distance(data): dist=data[2] print(f"Nouvelle distance : {dist} cm") #---------------- programme principal try : carte.set_pin_mode_sonar(Trigger_pin,Echo_pin, callback=nouvelle_distance) time.sleep(1) while True: time.sleep(0.1) except KeyboardInterrupt : print("--------------- Fin --------------") carte.shutdown() sys.exit(0)
Exemple utilisant des lectures à intervalles réguliers
from pymata4 import pymata4 import sys import time carte = pymata4.Pymata4() print("--------------- Début --------------") # Constantes Delai=1 Trigger_pin = 8 # port du Trigger D8 Echo_pin = 7 # port du Echo D7 #---------------- programme principal try : carte.set_pin_mode_sonar(Trigger_pin,Echo_pin) time.sleep(1) while True: time.sleep(Delai) (dist,temp)=carte.sonar_read(Trigger_pin) print(f"Distance : {dist} cm") except KeyboardInterrupt : print("--------------- Fin --------------") carte.shutdown() sys.exit(0)