Exercice : Utilisation de la directive #if (2/2)
Simulateur

Cet exercice est à réaliser avec le simulateur en ligne Wokwi
Schéma du montage
Dans le programme suivant, on souhaite tester deux versions, l'une avec deux LED, l'autre avec une seule LED (la rouge). En modifiant la valeur de la constante DEUXLED
(avec les valeurs 0 ou 1), on pourra ainsi tester l'une ou l'autre version.
1
2
3
4
void setup() {
5
pinMode(RED_LED_PIN, OUTPUT);
6
pinMode(GRN_LED_PIN, OUTPUT);
7
}
8
int level = ETEINT;
9
void loop() {
10
digitalWrite(GRN_LED_PIN, level);
11
digitalWrite(RED_LED_PIN, !level );
12
level = !level;
13
delay(1000);
14
}
1
// fichier constantes.h
2
3
4
5
Question
Modifiez le programme fourni pour qu'il réponde au cahier des charges
Solution
1
2
3
4
5
6
7
void setup() {
8
pinMode(RED_LED_PIN, OUTPUT);
9
pinMode(GRN_LED_PIN, OUTPUT);
10
}
11
int level = ETEINT;
12
void loop() {
13
//La directive #if permet de compiler ou pas l'instruction d'allumage de la LED verte
14
15
digitalWrite(GRN_LED_PIN, level); //Allumage de la LED verte (quand level = 1)
16
17
digitalWrite(RED_LED_PIN, !level ); //Allumage de la LED rouge (quand level=0)
18
level = !level; //Inversion de la valeur de level : si level était à 1, alors il devient égal à 0.
19
delay(1000);
20
}