User manual

52
La première boucle interne allume les LED les unes après les autres avec un retard. À la fin de la boucle qui est
reconnaissable par l'indentation de la ligne
time.sleep(2*t), on attend pendant deux fois le temps de retard.
Pendant ce temps, toutes les LED sont allumées. Après cela, une nouvelle boucle commence, qui décompte en
arrière et qui éteint les LED, une par une. On attend également à la fin deux fois le temps de retard, lorsque
toutes les LED sont éteintes, avant que la boucle externe recommence encore une fois le cycle en entier.
Motif 4
Si l'utilisateur a entré un 4, un autre motif clignotant commence, avec lequel toutes les LED clignotent en
même temps et ne s'allument pas les unes après les autres.
elif e == "4":
for i in range(w):
for j in range(z):
GPIO.output(LED[j], True)
time.sleep(2*t)
for j in range(z):
GPIO.output(LED[j], False)
time.sleep(t)
Étant donné que plusieurs ports GPIO ne peuvent pas être activés ou inactivés avec une seule instruction, des
boucles sont également utilisées ici, cependant sans retard dans la boucle. Les quatre LED sont
immédiatement allumées les unes après les autres. Cela semble au même moment pour l'œil humain. À la
fin de la première boucle interne, le programme attend deux fois le temps de retard avant que toutes les LED
sont éteintes à nouveau.
Les différents temps d'éclairage et d'extinction permettent de créer différents effets avec les lumières
clignotantes. Le clignotement est plutôt perçu quand le temps d'éclairage est plus long que le temps
d'extinction. Des temps d'éclairage très courts associés avec des temps d'extinction relativement longs
génèrent un effet de flash.
Motif 5
Si l'utilisateur a entré un 5, les LED clignotent complétement aléatoirement.
elif e == "5":
for i in range(w*z):
j = random.randint(0,z-1)
GPIO.output(LED[j], True); time.sleep(t)
GPIO.output(LED[j], False)
Comme aucune boucle imbriquée n'est utilisée ici, nous laissons la boucle se répéter plus souvent. Grâce à
la multiplication des variables
w et z, chaque LED clignote en moyenne autant que dans le premier motif.
La fonction
random.randint() écrit un chiffre aléatoire dans la variable j. Ce chiffre aléatoire est supérieur
ou égal au premier paramètre et inférieur ou égal au deuxième paramètre. Dans notre cas la valeur peut
également être
0, 1, 2, 3.
La LED sélectionnée aléatoirement est allumée puis éteinte à nouveau après un temps de retard. Après cela,
la boucle redémarre et une nouvelle LED est choisie aléatoirement.