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 4Como 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.
Desafío
IntermedioHaz que los cuatro LED cuenten en binario:
- inicia
counten 0 - muéstralo en los LED con
bitRead(): el bitienledPins[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)
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Salidas
1Brillo
Atenúa un LED con PWMPines PWM marcados con ~Aumenta gradualmente el brillo de un LEDAumenta y disminuye gradualmente el brilloAtenuador con perilla4Bucles y arreglos
Repetir con un bucle forUn arreglo de pines LEDSecuenciador de cinco LEDGráfico de barras con potenciómetroContador binario con LEDPractica por tu cuenta: Playground de Arduino