Les structures de contrôle

DéfinitionAlternative

La structure if consiste à réaliser une Action 1 si la condition est vraie sinon elle réalise une Action 2

1
if (condition){
2
  action1;
3
} else {
4
  action2;
5
}

On incrémente une variable interne à chaque tour de boucle. Une LED1 clignote pour les valeurs multiples de 3 et une LED2 pour les autres cas.

Arduino - LED
1
const int LED1 = 4;
2
const int LED2 = 5;
3
int a = 0;
4
5
void setup(){
6
  pinMode(LED1, OUTPUT);
7
  pinMode(LED2, OUTPUT);
8
}
9
10
void loop(){
11
  a++;
12
  if(a%3 == 0){
13
    digitalWrite(LED1, HIGH);
14
    delay(500);  
15
    digitalWrite(LED1, LOW);
16
    delay(500);
17
  } else {
18
    digitalWrite(LED2, HIGH);
19
    delay(500); 
20
    digitalWrite(LED2, LOW);
21
    delay(500);
22
  }
23
}

DéfinitionItérative WHILE

La structure while consiste à réaliser une Action tant qu'une condition est vraie.

1
while (condition){
2
  action;
3
}

Faire clignoter trois fois une LED puis quatre fois une autre et recommencer.

Arduino - LED
1
const int LED1 = 4;
2
const int LED2 = 5;
3
4
void setup(){
5
  pinMode(LED1, OUTPUT);
6
  pinMode(LED2, OUTPUT);
7
}
8
9
void loop(){
10
  int nb = 0;
11
  while(nb < 3){
12
    nb++;
13
    digitalWrite(LED1, HIGH);
14
    delay(500);  
15
    digitalWrite(LED1, LOW);
16
    delay(500);
17
  }
18
  nb = 0;
19
  while(nb < 4){
20
    nb++;
21
    digitalWrite(LED2, HIGH);
22
    delay(500);
23
    digitalWrite(LED2, LOW);
24
    delay(500);
25
  }
26
}

DéfinitionItérative FOR

Comme le while, la structure for consiste à réaliser une Action tant qu'une condition est vraie.

La différence est que la condition est gérée par un compteur interne à la structure for.

Dans l'exemple, le compteur i est initialisé à 0. La boucle est exécutée tant que le compteur est inférieur à 5. Le compteur est incrémenté de 1 à chaque tour.

1
for(int i = 0; i < 5; i++){
2
  action;
3
}

Faire clignoter trois fois une LED puis quatre fois une autre et recommencer.

Arduino - LED
1
const int LED1 = 4;
2
const int LED2 = 5;
3
4
void setup(){
5
  pinMode(LED1, OUTPUT);
6
  pinMode(LED2, OUTPUT);
7
}
8
9
void loop(){
10
  for(int nb = 0; nb < 3; nb++){
11
    digitalWrite(LED1, HIGH);
12
    delay(500);  
13
    digitalWrite(LED1, LOW);
14
    delay(500);
15
  }
16
  for(int nb = 0; nb < 4; nb++){  
17
    digitalWrite(LED2, HIGH);
18
    delay(500);
19
    digitalWrite(LED2, LOW);
20
    delay(500);
21
  } 
22
}