#!/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(TriggerFalse)                     # on met le GPIO 23 à 0

try:
    while True:                                 # boucle infinie        
        GPIO.output(TriggerTrue)              # envoi d'infrason 
        time.sleep(0.00001)                     # pendant 10us
        GPIO.output(TriggerFalse)             # 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