Compteur binaire sur LED
Fait partie de la section Sorties du Journey Arduino de Coddy. Leçon 19 sur 24.
Quatre LED peuvent afficher n’importe quel nombre de 0 à 15 en binaire, comme les ordinateurs stockent les nombres. Chaque LED représente une valeur deux fois supérieure à la précédente : 1, 2, 4 et 8. Une LED allumée ajoute sa valeur :
- 5 correspond à 4 + 1 : les LED valant 4 et 1 sont allumées
- 10 correspond à 8 + 2
- 15 correspond aux quatre LED
Chaque position est appelée un bit, numéroté à partir de 0, celui qui vaut 1. bitRead(number, n) renvoie le bit n d’un nombre, 1 ou 0 :
bitRead(5, 0); // 1 : 5 contient le 1
bitRead(5, 1); // 0 : 5 ne contient pas le 2
bitRead(5, 2); // 1 : 5 contient le 4Puisque 1 correspond à HIGH et 0 à LOW, le bit i peut être directement relié à la LED i :
for (int i = 0; i < 4; i++) {
digitalWrite(ledPins[i], bitRead(count, i));
}Ici, ledPins[0], la broche 2, correspond à la LED de droite, qui vaut 1, comme le dernier chiffre d’un nombre.
Défi
MoyenFais compter les quatre LED en binaire :
- démarre
countà 0 - affiche-le sur les LED avec
bitRead(), le bitisurledPins[i] - attends 250 ms, ajoute 1 et, après 15, recommence à 0
Appuie sur Run, puis sur Check.
Essayez vous-même
int ledPins[] = {2, 3, 4, 5}; // valent 1, 2, 4, 8
int count = 0;
void setup() {
for (int i = 0; i < 4; i++) {
pinMode(ledPins[i], OUTPUT);
}
}
void loop() {
// afficher count en binaire, attendre 250 ms, puis incrémenter count (retour à 0 après 15)
}
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Sorties
1Luminosité
Atténuer une LED avec le PWMBroches PWM marquées d’un ~Faire s’allumer progressivement une LEDFaire varier l’intensité d’une LEDVariateur à potentiomètre4Boucles et tableaux
Répéter avec une boucle forUn tableau de broches LEDChenillard à cinq LEDGraphique à barres avec un potentiomètreCompteur binaire sur LEDEntraînez-vous par vous-même : Playground Arduino