Menu
CoddyTech

Contador binario con LED

Parte de la sección Salidas del Journey de Arduino de Coddy. Lección 19 de 24.

Cuatro LED pueden mostrar cualquier número del 0 al 15 en binario, como almacenan los números las computadoras. Cada LED representa un valor que es el doble del anterior: 1, 2, 4 y 8. Un LED encendido suma su valor:

  • 5 es 4 + 1: los LED que representan 4 y 1 están encendidos
  • 10 es 8 + 2
  • 15 son los cuatro

Cada posición se llama bit, numerado desde 0, el que representa 1. bitRead(number, n) devuelve el bit n de un número, 1 o 0:

bitRead(5, 0);  // 1: 5 tiene el 1
bitRead(5, 1);  // 0: 5 no tiene el 2
bitRead(5, 2);  // 1: 5 tiene el 4

Como 1 es HIGH y 0 es LOW, el bit i puede conectarse directamente al LED i:

for (int i = 0; i < 4; i++) {
  digitalWrite(ledPins[i], bitRead(count, i));
}

Aquí, ledPins[0], el pin 2, es el LED de la derecha, que representa 1, como el último dígito de un número.

challenge icon

Desafío

Intermedio

Haz que los cuatro LED cuenten en binario:

  • inicia count en 0
  • muéstralo en los LED con bitRead(): el bit i en ledPins[i]
  • espera 250 ms, suma 1 y, después de 15, vuelve a empezar en 0

Presiona Run y después Check.

Pruébalo tú mismo

int ledPins[] = {2, 3, 4, 5};  // valen 1, 2, 4, 8
int count = 0;

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

void loop() {
  // muestra count en binario, espera 250 ms y luego incrementa count (vuelve a 0 después de 15)
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Salidas

Practica por tu cuenta: Playground de Arduino