Menu
CoddyTech

Compte à rebours jusqu’à zéro

Fait partie de la section Écrans et capteurs du Journey Arduino de Coddy. Leçon 4 sur 24.

Comme dans le balayage du servomoteur, une boucle for peut compter à rebours : commencer par un nombre élevé, continuer tant que le nombre est supérieur ou égal à 0, et en retirer un à chaque fois avec n-- :

for (int n = 5; n >= 0; n--) {
  showDigit(n);
  delay(1000);
}

Cela affiche 5, 4, 3, 2, 1 et 0. Avec n > 0, la boucle s’arrêterait à 1 et n’afficherait jamais 0.

Un compte à rebours doit se produire une seule fois, pas encore et encore. Le code dans setup() s’exécute une fois : place donc le compte à rebours à cet endroit, ainsi que ce qui doit se produire à 0 une fois celui-ci terminé. loop() peut rester vide, et 0 reste affiché.

challenge icon

Défi

Facile

Le buzzer est sur la broche 9. Crée un compte à rebours de lancement :

  • dans setup(), compte à rebours de 5 à 0, à raison d’un nombre par seconde
  • à 0, fais sonner le buzzer avec tone(buzzerPin, 880, 1000)
  • laisse le 0 affiché

Appuie sur Run, puis sur Check.

Essayez vous-même

const int segmentPins[7] = {2, 3, 4, 5, 6, 7, 8};  // a, b, c, d, e, f, g

// Un motif par chiffre, à lire de droite à gauche : le dernier bit correspond au segment a.
//                     gfedcba
const byte digits[10] = {
  0b0111111,  // 0
  0b0000110,  // 1
  0b1011011,  // 2
  0b1001111,  // 3
  0b1100110,  // 4
  0b1101101,  // 5
  0b1111101,  // 6
  0b0000111,  // 7
  0b1111111,  // 8
  0b1101111   // 9
};

void showDigit(int n) {
  for (int i = 0; i < 7; i++) {
    if (bitRead(digits[n], i) == 1) {
      digitalWrite(segmentPins[i], LOW);   // allumé
    } else {
      digitalWrite(segmentPins[i], HIGH);  // éteint
    }
  }
}

const int buzzerPin = 9;

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

  // compter à rebours de 5 à 0 ici, puis faire sonner le buzzer
}

void loop() {
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Écrans et capteurs

Entraînez-vous par vous-même : Playground Arduino