Sur ce montage, la LED est reliée :
Découvrez l'environnement de programmation Thonny Python IDE pour vos scripts Python
import RPi.GPIO as GPIO # Choix de la numerotation BCM GPIO.setmode(GPIO.BCM)
GPIO.setup(4, GPIO.OUT) # le GPIO4 est une sortie numerique GPIO.setup(4, GPIO.OUT, initial=GPIO.HIGH)# le GPIO4 est une sortie initialement a l'etat haut GPIO.output(4, GPIO.HIGH) # allumer la LED : etat haut GPIO.output(4, GPIO.LOW) # eteindre la LED : etat bas
Exercice : faire un programme qui fait clignoter une LED. Pour cela utilisez le module time.
import time # Attendre 1/2 seconde time.sleep(0.5)
La bibliothèque gpiozero permet une programmation simplifiée.
Le branchement du bouton :
Cette résistance pull-up permet :
Lorsque l'on pousse le bouton poussoir, le potentiel du GPIO26 est forcé à LOW (valeur 0 - niveau bas) par la mise à la masse.
La LED est toujours reliée à la masse et à la broche 40 (GPIO21).
==== Programmation avec la bibliothèque GPIO ====
<code python>
# Import des modules
import RPi.GPIO
import time
# Initialisation de la numerotation et des E/S
GPIO.setmode(GPIO.BCM)
GPIO.setup(21, GPIO.OUT, initial=GPIO.LOW) # la led
GPIO.setup(26, GPIO.IN) # le bouton
# Si on detecte un appui sur le bouton, on allume la LED
# et on attend que le bouton soit relache
while True:
state = GPIO.input(26)
if not state:
# on a appuye sur le bouton connecte sur la broche 26
GPIO.output(21, GPIO.HIGH)
while not state:
state = GPIO.input(10)
time.sleep(0.02) # Pause pour ne pas saturer le processeur
GPIO.output(21, GPIO.LOW)
time.sleep(0.02) # Pause pour ne pas saturer le processeur
</code>
==== Programmation avec la bibliothèque gpiozero ====
<code python>
from gpiozero import LED, Button
from signal import pause
led = LED(21)
bouton = Button(26)
bouton.whenpressed = led.on
bouton.whenreleased = led.off
pause()
</code>
L'instruction bouton.whenpressed = led.on n'appelle pas la fonction (méthode) led.on mais crée une référence à cette fonction de telle sorte que la fonction led.on sera appelée seulement quand l'événement bouton.when_pressed se produira. De la même l'instruction bouton.when_released = led.off permet d'indiquer qu'il faut exécuter la fonction (méthode) led.off quand on relâche le bouton. </WRAP>
Pour en savoir plus sur gpiozero : gpiozero.pdf
Travail à faire : réaliser un feu tricolore avec un bouton pour piéton :
==== Les activités … ====