#!/usr/bin/python
#-*- coding: utf-8 -*-
import time # import de la librairie pour utiliser le temps
import RPi.GPIO as GPIO # import de la librairie pour utiliser les GPIO
GPIO.setmode(GPIO.BCM) # GPIO en mode BCM
Trigger = 18 # GPIO 18 pour l'envoi
Echo = 23 # GPIO 23 pour la réception
print "Mesure par ultrasons"
GPIO.setup(Echo,GPIO.IN) # GPIO 18 en mode input
GPIO.setup(Trigger,GPIO.OUT) # GPIO 23 en mode output
GPIO.output(Trigger, False) # on met le GPIO 23 à 0
try:
while True: # boucle infinie
GPIO.output(Trigger, True) # envoi d'infrason
time.sleep(0.00001) # pendant 10us
GPIO.output(Trigger, False) # on arrête l'envoi
start = time.time() # variable start vaut le temps actuel
stop = time.time() # variable stop vaut le temps actuel
while GPIO.input(Echo) == 0: # quand on a un envoi
start = time.time() # heure de start
while GPIO.input(Echo) == 1: # quand on a un retour
stop = time.time() # heure de stop
elapsed = stop-start # Calcule du temps de l'aller retour
distance = elapsed * 34000 # temps du parcours multiplier par la vitesse du son en cm/s
distance = distance / 2 # on divise par 2 pour la distance aller simple
print "Distance : %.1f cm" % distance # On affiche la distance
# petite pose
time.sleep(1)
except KeyboardInterrupt: # si Ctrl c au clavier
GPIO.cleanup() # on libère les GPIO
exit # on sort du programme