14. Contador en 7 segmentos de 4 dígitos con MAX7219
Un display de 4 dígitos controlado con solo 3 cables gracias al chip MAX7219. Aprende SPI y multiplexado por hardware.
🧰 Lista de materiales
🎯 Qué vas a aprender
En el proyecto 08 movías 7 pines para un solo dígito. Aquí el MAX7219 maneja hasta 8 dígitos usando solo 3 pines (DIN, CLK, CS) por el bus SPI, encargándose él del multiplexado y la corriente.
📚 Teoría: el MAX7219 y SPI
El MAX7219 es un driver de displays LED: recibe los datos en serie (SPI) y se ocupa de refrescar cada dígito muy rápido (multiplexado) para que el ojo los vea todos encendidos a la vez. Solo necesita una resistencia Rset para fijar el brillo máximo y un condensador de desacoplo.
SPI usa: DIN (datos), CLK (reloj) y CS/LOAD (selección). Es más rápido que I2C y muy común para displays y memorias.
🔌 Conexiones (módulo MAX7219)
| Pin módulo | Pin Arduino |
|---|---|
| VCC | 5 V |
| GND | GND |
| DIN | D11 |
| CS | D10 |
| CLK | D13 |
💻 Código completo
Instala la librería LedControl desde el Gestor de librerías.
// Contador 0000-9999 con MAX7219
#include
// LedControl(DIN, CLK, CS, nº de chips)
LedControl lc = LedControl(11, 13, 10, 1);
int contador = 0;
void mostrar(int n) {
for (int d = 0; d < 4; d++) {
int digito = n % 10;
lc.setDigit(0, d, digito, false);
n /= 10;
}
}
void setup() {
lc.shutdown(0, false); // despierta el chip
lc.setIntensity(0, 8); // brillo 0..15
lc.clearDisplay(0);
}
void loop() {
mostrar(contador);
contador = (contador + 1) % 10000;
delay(100);
} 🛠️ Montaje paso a paso
- Conecta el módulo MAX7219 (VCC, GND, DIN, CS, CLK) según la tabla.
- Instala LedControl y sube el sketch.
- Verás un contador rápido de 0000 a 9999.
- Ajusta
setIntensitysi deslumbra.
🧩 Resolución de problemas
| Síntoma | Causa | Solución |
|---|---|---|
| Display apagado | Falta shutdown(false) | Despierta el chip en setup |
| Dígitos al revés | Orden de dígitos | Invierte el índice en mostrar() |
| Parpadeo/ruido | Sin condensador desacoplo | Añade 100 nF + 10 µF en VCC |
🚀 Para ir más lejos
- Convierte el contador en un reloj con un módulo RTC.
- Usa el mismo MAX7219 para la matriz 8×8 (proyecto 15).