Compter sur l’afficheur
Fait partie de la section Écrans et capteurs du Journey Arduino de Coddy. Leçon 3 sur 24.
Avec showDigit(), un chiffre correspond à un appel de fonction. Une boucle for peut l’appeler successivement avec chaque nombre :
for (int n = 0; n <= 9; n++) {
showDigit(n);
delay(500);
}La condition détermine le dernier nombre. n <= 9 va jusqu’à 9 inclus ; n < 9 s’arrête à 8.
Place la boucle dans loop() et, lorsque le comptage est terminé, loop() s’exécute à nouveau et le comptage recommence à 0.
Défi
FacileshowDigit() est prêt. Compte sur l’afficheur :
- affiche 0, 1, 2 et ainsi de suite jusqu’à 9
- garde chaque nombre affiché pendant 500 ms
- après 9, recommence à 0
Appuie sur Run pour le voir compter, 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
}
}
}
void setup() {
for (int i = 0; i < 7; i++) {
pinMode(segmentPins[i], OUTPUT);
}
}
void loop() {
// afficher les chiffres de 0 à 9, pendant une demi-seconde chacun
}
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