Vous êtes sur la page 1sur 3

1.

Commande d’une diode LED à l’aide du PWM


 Le but de notre application est d’utiliser le PWM pour modifier l’intensité de
diode

 Les fonctions de la bibliothèque « RPi.GPIO » relative au PWM sont résumés


dans le tableau suivant :
p=GPIO.PWM(channel,frequency) Pour créer une instance PWM
p.start(dc) Pour démarrer PWM
où dc est le rapport cyclique (0.0 <= dc <= 100.0)
p.ChangeFrequency(freq) Pour changer la fréquence
p.ChangeDutyCycle(dc) Pour changer le rapport cyclique
où dc est le rapport cyclique (0.0 <= dc <= 100.0)
p.stop() Pour arrêter PWM

 Compléter le code suivant afin de faire varier l’intensité de diode Led:


#-# Importing RPi library to use the GPIO pins
from time import sleep # Importing sleep from time library
led_pin = --- # Initializing the GPIO pin for LED
GPIO.setmode(---) # We are using the BCM pin numbering
GPIO.setup(led_pin, ----) # Declaring pin as output pin
pwm = GPIO.PWM(led_pin, 200) # Created a PWM object
pwm.start(...) # Started PWM at 0% duty cycle
try:
while 1: # Loop will run forever
for x in range(0,100,--): # This Loop will run 100 times
pwm.ChangeDutyCycle(x) # Change duty cycle
sleep(0.01) # Delay of 10mS

for x in range(100,0,---): # Loop will run 100 times; 100 to 0


pwm.ChangeDutyCycle(x)
sleep(0.01)
# If keyboard Interrupt (CTRL-C) is pressed
except KeyboardInterrupt:
pass # Go to next line
pwm.stop() # Stop the PWM
GPIO.cleanup() # Make all the output pins LOW

2. Capteur de mouvement HC-SR501 :


 Description
Une des utilisations courante du Raspberry Pi est la domotique. Qui dit domotique dit,
allumage automatique des lumières, gestion d'une alarme.... parmi les capteurs utilisé avec la
carte Raspberry est le capteur de mouvement (de présence) : le HC-SR501. Ce capteur est un
PIR (Passive Infrared Sensor), il utilise les variations infrarouges pour détecter une présence ou
un mouvement.
Les caractéristiques de ce capteur sont :
 Alimentation : 4.5V à 20V DC
 Sortie : high 3.3V, low 0V
 Délai de sortie et sensibilité ajustable par potentiomètre
 Déclenchement avec ou sans répétition
 Portée de 7 m et angle de 120°
Le capteur HC-SR501 possède 3 pins:
 Le VCC (+5V);
 Le GND, (0V);
 L'output (qui renvoie une valeure TOR): permet de relier le capteur directement
relié à la commande d'un relai
Compléter le code suivants afin de

# Import des modules


# Initialisation de la numerotation et des E/S
………
………
……….

while True:
………
print("Motion detected! ")
time.sleep(1)
GPIO.cleanup()

3. Capteurs à ultrasons

La mesure par ultrasons est un des moyens utilisés pour déterminer sans contact la
distance d’un obstacle. Par exemple Un robot peut ainsi sonder son environnement,
mais on peut aussi s’en servir pour mesurer le niveau d’un liquide dans une cuve par
exemple.
 Description
Les capteurs à ultrasons sont conçus pour détecter la proximité des objets en utilisant la
réflexion des ultrasons, tout comme les radars. Le principe consiste à calculer la distance
de l'obstacle à partir du temps mis par l'onde sonore pour faire le trajet aller puis le retour
jusqu'au capteur après réflexion de l'onde sur l'obstacle. Les ultrasons sont 230
principalement utilisés, car ils sont inaudibles à l'oreille humaine et sont relativement
précis sur de courtes distances.

Le module à ultrasons HC-SR04, dans notre TP possède quatre broches :

 une broche (Gnd), utilisée pour mettre le module à la masse (0 V) ;


 une broche de sortie (Echo), utilisée pour informer de la fin de l'émission du train
d'ultrasons et de son retour après réflexion sur l'obstacle ;
 une broche d'entrée (Trig pour Trigger), utilisée pour déclencher l'émission du train
d'ultrasons ;
 une broche (Vcc), utilisée pour alimenter le capteur en 5 V.

------
-----
-----
TRIG =--
ECHO = ---
print ("Distance Measurement In Progress")
-----
-----
GPIO.output(TRIG, False)
print ("Waiting For Sensor To Settle")
time.sleep(2)
# Pour créer notre impulsion de déclenchement, nous devons #forcer
la broche Trig à un potentiel haut pendant 10 µs puis #le remettre à
un potentiel bas :
-------(TRIG, -----)
--------------------
-------(TRIG, ------)
# détecter le passage de 0 à 1 de ECHO
# détecter le passage de 1 à 0 de ECHO
while GPIO.input(ECHO) == ----:
pulse_start = time.time()
----------------------- ------:
pulse_end = time.time()
#détecter le passage de 1 à 0 de ECHO
pulse_duration = ---- - -------
#calculer la distance:
#vitesse=distance /temps
#distance=vitesse*temps
distance = --------------------
print ("Distance: ", ------, " cm")
GPIO.cleanup()

Vous aimerez peut-être aussi