User manual

38
time.sleep(2)
GPIO.output(Feu_de_circulation[vert],False);
GPIO.output(Feu_de_circulation[jaune],True)
time.sleep(0.6)
GPIO.output(Feu_de_circulation[jaune],False);
GPIO.output(Feu_de_circulation[rouge],True)
time.sleep(0.6)
for i in range(10):
GPIO.output(Feu_de_circulation[bleu],True); time.sleep(0.05)
GPIO.output(Feu_de_circulation[bleu],False); time.sleep(0.05)
time.sleep(0.6)
GPIO.output(Feu_de_circulation[jaune],True); time.sleep(0.6)
GPIO.output(Feu_de_circulation[rouge],False)
GPIO.output(Feu_de_circulation[jaune],False)
GPIO.output(Feu_de_circulation[vert],True)
except KeyboardInterrupt:
GPIO.cleanup()
4.1.1 Voilà comment cela fonctionne
Le déroulement du programme est déjà connu. Pendant la phase rouge longue, le feu pour piétons bleu doit
clignoter rapidement.
bleu = 4 Une nouvelle variable définit la LED pour le feu pour piéton dans la liste
Feu_de_circulation=[4,18,23,24] La liste a été élargie à quatre éléments pour pouvoir contrôler les
quatre LED.
GPIO.setup(Feu_de_circulation[bleu], GPIO.OUT, initial=False) La nouvelle LED est initialisée et
est éteinte au début. C'est le réglage de base pendant la phase verte du feu de circulation.
time.sleep(0.6)
for i in range(10):
GPIO.output(Feu_de_circulation[bleu],True); time.sleep(0.05)
GPIO.output(Feu_de_circulation[bleu],False); time.sleep(0.05)
time.sleep(0.6)
Dans le cycle du feu de signalisation, une boucle qui permet à la LED bleue de clignoter, commence
0,6 seconde après le début de la phase rouge. Pour ce faire, nous utilisons ici une boucle
for qui,
contrairement à la boucle
while sera répétée un nombre défini de cycles de boucle, et qui ne n'exécute pas
tant qu'une certaine condition d'arrêt n'est pas satisfaite.
for i in range(10): Chaque boucle for nécessite un compteur de boucle, une variable qui change de
valeur à chaque répétition de boucle. Pour un compteur de boucle simple, le nom de variable
i s'est établi
dans tous les langages de programmation. Tout autre nom est naturellement possible. Cette valeur peut être
appelée comme toute autre variable dans la boucle, mais ce n'est pas nécessaire ici. Le paramètre
range
dans la boucle indique le nombre de cycle de la boucle, et plus précisément, quelles sont les valeurs que le
compteur de boucle peut donner. Dans notre exemple, la boucle est répétée 10 fois. Le compteur de boucle
i
passe de la valeur
0 à 9. Dans la boucle, la nouvelle LED bleue est allumée puis éteinte après 0,05 seconde.
Un cycle de boucle est terminé après 0,05 seconde supplémentaire, et le prochain cycle recommence avec
l'allumage de la LED. De cette façon, elle clignote dix fois, et la phase complète dure 1 seconde.