Aller au contenu

Boucle itérative

Dans le cas de processus redondants, plutôt que d'écrire le processus de multiple fois avec des paramètres différents, il est préférable d'utiliser une boucle avec variable (for ) ainsi qu'une ou plusieurs listes ou sont stockées toutes les variables nécessaires. La boucle for se charge de la structure du processus. La(les) liste(s) s'occupe(nt) des données. A chaque entrée dans la boucle on vient chercher dans la ou les listes, les paramètres du prochain cas.

Exemples

Blocs boucle itérative

Info

Le bloc variable Bloc variable peut être trouvé dans la catégorie de blocs Variables. Notez que cette variable peut être renommée en cliquant sur la petite flèche () située à côté du nom de la variable.

le bloc qui permet de parcourir une liste pour chaque élément se trouve sous la catégorie Boucles.

from machine import *
import utime

# Servo on p26
d2 = PWM(Pin(26), freq=50, duty=0)

#  on créer une fonction pour calculer le duty et l'appliquer au servomoteur, à partir d'un angle donné.
def setServoAngle(pin, angle):
    if (angle >= 0 and angle <= 180):
        pin.duty(int(0.025*1023 + (angle*0.1*1023)/180))
    else:
        raise ValueError("Servomotor angle have to be set between 0 and 180")
# on défini une liste d'angle
angles = [10, 90, 30]

while True:
#pour chaque angle de la liste angles on applique la fonction créer précédemment
for i in angles:
    setServoAngle(d2, i)
    utime.sleep(5)

Aller plus loin

Dans l'exemple ci-dessus, nous utilisons les fonctions du langage MicroPython def, for et if else.

Pour en savoir plus sur def, nous vous invitons à lire la documentation MicroPython.

Pour en savoir plus sur for in, nous vous invitons à lire la documentation MicroPython.

Pour en savoir plus sur if else, nous vous invitons à lire la documentation MicroPython.