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)