// La broche numérique 11 est reliée au bouton1. On lui donne le nom bouton1. int bouton1 = 11; // La broche numérique 12 est reliée au bouton2. On lui donne le nom bouton2. int bouton2 = 12; // Déclaration variable nombreled qui va servir à stocker une valeur au format int. // Elle prend la valeur de 9 équivalant au nombre de LED int nombreled = 9; // Déclaration variable NbLedON qui va servir à stocker une valeur au format int. int NbLedON; // Déclaration d'un tableau de variable ledPins qui va servir à stocker des valeurs au format int. // On remplit le tableau avec les numéros des broches numériques utilisées pour les LEDS int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10};
void setup() { // Initialiser la communication série à 9600 bits par seconde Serial.begin(9600); // Faire de la broche du Bouton1 une entrée avec activation de la résistance de rappel interne de l'ARDUINO . pinMode(bouton1, INPUT_PULLUP); // Faire de la broche du Bouton2 une entrée avec activation de la résistance de rappel interne de l'ARDUINO . pinMode(bouton2, INPUT_PULLUP);
// On utilise une boucle for pour déclarer les sorties
// On initialise une variable int Led pour qu’elle débute de 0 // Tant que la condition est Vrai Led < nombreled on répète les actions entre {} de la boucle for // Et on incrémente Led++. for (int Led = 0; Led < nombreled; Led++) { // Définit ledPins[Led] comme sortie. pinMode(ledPins[Led], OUTPUT); } }
void loop() { // Lit la broche d'entrée du bouton1 et stock ça valeur dans etatDuBouton1 au format bool bool etatDuBouton1 = digitalRead(bouton1); // Si EtatBouton1 == LOW on exécute les actions entre {} if (etatDuBouton1 == LOW) { // Si NbLedOn < 9 on exécute les actions entre {} if (NbLedON < 9) { // On incrémente NbLedON++. NbLedON++; } // Tant que etatDuBouton1 == LOW on répète les actions entre {} while (etatDuBouton1 == LOW) { // Lit la broche d'entrée du bouton1 et stock ça valeur dans etatDuBouton1 au format bool etatDuBouton1 = digitalRead(bouton1); } } // Lit la broche d'entrée du bouton2 et stock ça valeur dans etatDuBouton2 au format bool bool etatDuBouton2 = digitalRead(bouton2); // Si EtatBouton2 == LOW on exécute les actions entre {} if (etatDuBouton2 == LOW) { // Si NbLedON > 0 on exécute les actions entre {} if (NbLedON > 0) { // On décrémente NbLedON--. NbLedON--; } // Tant que etatDuBouton2 == LOW on répète les actions entre {} while (etatDuBouton2 == LOW) { // Lit la broche d'entrée du bouton2 et stock ça valeur dans etatDuBouton2 au format bool etatDuBouton2 = digitalRead(bouton2); } }
// Imprime des infos sur le nombre de Led à allumer Serial.print("Nb de Led a allumer : "); Serial.println(NbLedON);
// On utilise une boucle for pour gérer allumage des Led
// On initialise une variable int Led pour qu’elle débute de 0 // Tant que la condition est Vrai Led < nombreled on répète les actions entre {} de la boucle for // Et on incrémente Led++. for (int Led = 0; Led < nombreled; Led++) { // Si NbLedON > Led on exécute les actions entre {} if (NbLedON > Led) { // Met la broche numérique stockée ledPins[Led] sur ON digitalWrite(ledPins[Led], HIGH); } // Sinon on exécute les actions entre {} else { // Met la broche numérique stockée ledPins[Led] sur OFF digitalWrite(ledPins[Led], LOW); } } }