← Retour au chapitre

Étape 1 / 3

La boucle for

Répéter une action un nombre défini de fois — théorie et schéma visuel.

Chapitres précédents non terminés
Pour un apprentissage optimal, termine d'abord : Arduino : Hello World !

Pourquoi une boucle ?

Tu sais allumer une LED. Mais si tu veux en allumer six, une par une ? Copier-coller le code 6 fois ? Non merci — c'est exactement le job d'une boucle for.

Pont Scratch : Tu connais le bloc Répéter X fois ? La boucle for en C/Arduino, c'est exactement la même chose — mais en texte.

D'abord : le tableau (array)

Avant de boucler, il faut comprendre comment stocker les numéros de nos 6 pins dans une seule variable. En Arduino, on utilise un tableau (array) :

int leds[] = {2, 3, 4, 5, 6, 7};

Chaque case a un index — un numéro de position qui commence à 0 (pas 1 !). Survole les cases :

[0]
[1]
[2]
[3]
[4]
[5]

Survole une case pour voir sa valeur et son index.

Piège classique : le premier élément est à l'index 0, pas 1. Donc leds[0] = 2 et leds[5] = 7.

Pont Scratch : les listes dans Scratch fonctionnent pareil — sauf que Scratch commence à 1, et Arduino à 0.

Dans la section suivante, tu câbleras un vrai montage avec 6 LEDs et tu utiliseras la boucle for pour les animer. Ici, on apprend d'abord la théorie !

La boucle for

for (int i = 0; i < 6; i++) {
  digitalWrite(leds[i], HIGH);
  delay(200);
  digitalWrite(leds[i], LOW);
}

Comment ça fonctionne ?

La boucle suit toujours le même cycle :

i = 0initialisationi < 6 ?conditionoui{ code }corpsi++incrémentnonFIN

Exemple : allumer 6 LEDs

Voici le code complet qui allume chaque LED pendant 200ms, puis l'éteint :

// Pins des 6 LEDs
int leds[] = {2, 3, 4, 5, 6, 7};

void setup() {
  for (int i = 0; i < 6; i++) {
    pinMode(leds[i], OUTPUT);
  }
}

void loop() {
  for (int i = 0; i < 6; i++) {
    digitalWrite(leds[i], HIGH);
    delay(200);
    digitalWrite(leds[i], LOW);
  }
}

Résultat : les 6 LEDs s'allument une par une de gauche à droite, puis ça recommence — c'est un chenillard !

Exercice : complète le code

Imagine que tu as 10 LEDs (pins D2 à D11). Remplis les trous pour créer une boucle qui les parcourt toutes :

// 10 LEDs sur les pins 2 à 11
int leds[] = {2,3,4,5,6,7,8,9,10,11};

for (int i = ; i < ; ) {
  digitalWrite(leds[i], HIGH);
  delay(100);
  digitalWrite(leds[i], LOW);
}

Valide cette étape quand tu as terminé la lecture et la manipulation.

Première étape du chapitre Exo 4 : Chenillard 6 LEDs →

Electro-Lab - support pédagogique Arduino (MVP).

IFOSUP Wavre - Cours Drones et Robotique.