Exercice : Chenillard

Un chenillard est un ensemble de plusieurs diodes qui s'allument et s'éteignent. Dans cet exercice, vous allez faire un chenillard composé de 6 LEDs.

Le montage est le même que pour l'exercice précédent.

Au départ, toutes les LED sont éteintes, puis la première LED s'allume, puis elle s'éteint, la deuxième s'allume, puis la deuxième s'éteint, la troisième s'allume, etc... à la fin la 6e LED s'éteint et la première s'allume, et ainsi de suite.

Comme sur cette vidéo.

Question

Vous pouvez écrire l'organigramme du programme afin de vous aider.

Solution

Voilà l'organigramme ! Attention, il n'est pas complet, mais si vous avez compris le principe, le compléter ne vous posera pas de problèmes :

Question

Réaliser le programme.

Solution

/*

Programme permettant d'allumer et d'éteindre 6 Led les unes après les autres.

*/

const int led_1 = 2; //définition de la broche digitale n°2 pour la LED.

const int led_2 = 3; //définition de la broche digitale n°3 pour la LED.

const int led_3 = 4; //définition de la broche digitale n°4 pour la LED.

const int led_4 = 5; //définition de la broche digitale n°5 pour la LED.

const int led_5 = 6; //définition de la broche digitale n°6 pour la LED.

const int led_6 = 7; //définition de la broche digitale n°7 pour la LED.

void setup() //fonction d'initialisation de la carte

{

pinMode(led_1, OUTPUT); //initialisation de la broche 2 en sortie.

pinMode(led_2, OUTPUT); //de la broche 3 en sortie.

pinMode(led_3, OUTPUT); //de la broche 4 en sortie.

pinMode(led_4, OUTPUT); //de la broche 5 en sortie.

pinMode(led_5, OUTPUT); //de la broche 6 en sortie.

pinMode(led_6, OUTPUT); //de la broche 7 en sortie.

}

void loop() //fonction principale

{

digitalWrite(led_1, HIGH); // LED 1 allumée

delay(1000); // pause de 1 secondes

digitalWrite(led_1, LOW); // LED 1 éteinte

digitalWrite(led_2, HIGH); // LED 2 allumée

delay(1000); // pause de 1 secondes

digitalWrite(led_2, LOW); // LED 2 éteinte

digitalWrite(led_3, HIGH); // LED 3 allumée

delay(1000); // pause de 1 secondes

digitalWrite(led_3, LOW); // LED 3 éteinte

digitalWrite(led_4, HIGH); // LED 4 allumée

delay(1000); // pause de 1 secondes

digitalWrite(led_4, LOW); // LED 4 éteinte

digitalWrite(led_5, HIGH); // LED 5 allumée

delay(1000); // pause de 1 secondes

digitalWrite(led_5, LOW); // LED 5 éteinte

digitalWrite(led_6, HIGH); // LED 6 allumée

delay(1000); // pause de 1 secondes

digitalWrite(led_6, LOW); // LED 6 éteinte

}