TPE - Voitures autonomes
Réaliser un feu tricolore.
Ce programme est encore un test pour nous habituer au Raspberry Pi et à la programmation.
sudo nano trafficlight.py
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
leds = [12,16,21]
for led in leds:
GPIO.setup(led,GPIO.OUT)
GPIO.output(led,False)
try:
while True:
GPIO.output(leds[0],True)
time.sleep(5)
GPIO.output(leds[1],True)
time.sleep(1)
GPIO.output(leds[0], False)
GPIO.output(leds[1], False)
GPIO.output(leds[2], True)
time.sleep(5)
GPIO.output(leds[1], True)
GPIO.output(leds[2], False)
time.sleep(1)
GPIO.output(leds[1], False)
except KeyboardInterrupt:
GPIO.cleanup()
Chaque LED est branchée au Raspberry avec une résistance de 330 Ohms entre sa patte la plus longue et le port GPIO. Chaque petite patte de chaque LED est reliée à la masse du Raspberry.
La LED 0 (jaune) est branchée au port 12 du GPIO.
La LED 1 (orange) est branchée au port 16 du GPIO.
La LED 2 (rouge) est branchée au port 21 du GPIO.
Ce programme allume une LED jaune pendant 5 secondes, ensuite une LED orange s'allume aussi pendant 1 seconde de plus. Ensuite, les LED jaune et orange s'éteignent et la LED rouge s'allume pendant 5 secondes. Enfin, la LED rouge s'éteint et la boucle reprend.
Ce programme s’exécute indéfiniment jusqu'à l'intervention de l'utilisateur et l'appui des touches "Ctrl+C", correspondant à l'exception d'interruption clavier. Le programme interrompu, les ressources du port GPIO sont libérées (commande "GPIO.cleanup()").