top of page

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()").

bottom of page