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é.
Défi
FacileLe 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() {
}
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
1Afficheurs à sept segments
Afficheur à sept segmentsMotifs de chiffres en octetsCompter sur l’afficheurCompte à rebours jusqu’à zéroLanceur de désEntraînez-vous par vous-même : Playground Arduino