Comment fonctionne un boucle for ? Comment l'utiliser dans votre programme?

La boucle for est utilisée pour répéter une série d’instruction un nombre de fois donné. La série d’instruction qui se répète se trouve dans les crochets. La fonction for est très utile pour des actions répétitives, comme faire clignoter une led, faire bouger son servomoteur de 0° à 180° par exemple.

for (initialisation; condition; incrementation) {
  // Votre code
}

Comme on peut voir, la fonction for prends en paramètre une initalisation, une condition pour laquelle la boucle s’éxécute tant que la condition est valide et une incrémentation. Ceci se fait généralement avec une variable, que l’on initalise à un certain nombre, que l’on incrémente à chaque ligne jusqu’à ce que la conditon ne soit plus valide.

L’incrémentation s’appelle  le pas. C’est la valeur avec laquelle votre variable va s’incrémenter.

Point d'interrogation

Comment écrire la condition ?

La condition pour le for peut-être dur à écrire, surtout avec tout les opérateurs qui existe. On vous conseille notre cours sur les fonctions mathématiques pour avoir un tableau complet de touts les opérateurs utilisables sur arduino !

On va voir plusieurs exemples de boucle for juste en dessous :

  • Bouce for à incrémentation croissante
for (int i = 0; i < 255; i++) {
    Serial.println(i);// Votre code
  }

Comme on peut voir dans notre exemple, on utilise une variable i qui s’initialise à 0 et exécute votre code à l’intérieur des crochets 255 fois. Ici l’incrémentation, ou le pas, corresponds à i++. cela veut dire qu’à chaque itération, la variable i va s’augmenter de 1.

Néanmoins vous pouvez changer votre pas pour qu’il arrive plus vite à la fin de la condition, en écrivant par exemple i+=2 au lieu de i++. Dans ce cas, votre boucle va s’éxécuter que 128 fois.

Attention aux valeurs comptées dans votre boucle !

En reprenant l’exemple ci-dessus, on va bien avoir 0 comme première valeur de i, mais la dernière valeur sera 254 et pas 255 car on a écrit notre condition avec inférieur (<) et pas inférieur où égale (<=). Si vous changez pour inférieur ou égale, vous aurez 256 itérations.

  • Boucle for à incrémentation décroissante

On va maintenant voir comme faire une boucle for ou la variable s’incrémente en descendant.

for (int i = 255; i > 0; i--) {
    Serial.println(i);// Votre code
  }

Ici comme on voit, la variable i s’initialise de 255 à 1. Le pas est de i-1, donc à chaque itération la variable se décrémente de 1.