Les informations sur les caractéristiques du capteur sont disponibles ici.
Le signal de sortie du capteur (ECHO) sur le HC-SR04 est de à 5V. Cependant, nous pouvons envoyer sur la broche d’entrée sur du GPIO Raspberry Pi 3,3V.
En envoyant un signal 5V dans ce port d’entrée de 3,3 V non protégé, on pourrait endommager les broches GPIO.
Nous aurons besoin d’utiliser un diviseur de tension, composé de deux résistances, pour abaisser la tension de sortie du capteur à une tension que le Raspberry Pi peut manipuler.
Schéma de câblage :

# Importer les librairies
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
# Definir les ports GPIO
GPIO_TRIGGER = 23
GPIO_ECHO = 24
# Definir les ports GPIO en entrée et Sortie
GPIO.setup(GPIO_TRIGGER,GPIO.OUT) # Trigger
GPIO.setup(GPIO_ECHO,GPIO.IN) # Echo
GPIO.output(GPIO_TRIGGER, False)
time.sleep(0.5)
# Envoyer une impulsion de 10us sur le Trigger
GPIO.output(GPIO_TRIGGER, True)
time.sleep(0.00001)
GPIO.output(GPIO_TRIGGER, False)
start = time.time()
while GPIO.input(GPIO_ECHO)==0:
start = time.time()
while GPIO.input(GPIO_ECHO)==1:
stop = time.time()
# Calculer la longueur de la pulsation
elapsed = stop-start
distance = elapsed * 34000
distance = distance / 2
print "Distance : %.1f" % distance
# Reset GPIO
GPIO.cleanup()
Laisser un commentaire