Menu
CoddyTech

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 4

Puisque 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.

challenge icon

Défi

Moyen

Fais compter les quatre LED en binaire :

  • démarre count à 0
  • affiche-le sur les LED avec bitRead(), le bit i sur ledPins[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)
}
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 Sorties

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