Ir al contenido
← Volver a Formación Arduino Intermedio

15. Marquesina de texto en matriz LED 8×8

Texto que se desplaza por una matriz de 64 LEDs, como los paneles informativos. Aprende a representar caracteres como mapas de bits.

Dificultad: Intermedio · Tiempo: 65 min · Cerebro: Arduino Uno

🧰 Lista de materiales

Arduino Uno R3 (ATmega328P)
Arduino Uno R3 (ATmega328P)
Genera la animación
Módulo matriz LED 8×8
Módulo matriz LED 8×8
Matriz 8×8 de LEDs
MAX7219CNG (driver display LED)
MAX7219CNG (driver display LED)
Driver de la matriz
Breadboard 830 puntos
Breadboard 830 puntos
Montaje

🎯 Qué vas a aprender

Cómo una imagen o letra se representa como mapa de bits (cada bit = un LED) y cómo crear animación desplazando columnas. El MAX7219 vuelve a hacer el trabajo pesado.

📚 Teoría: bitmaps y scroll

Una matriz 8×8 son 64 LEDs en filas y columnas. Cada fila se puede ver como un byte (8 bits): un 1 enciende ese LED, un 0 lo apaga. Una letra «A» es entonces 8 bytes. Para el scroll, desplazamos los datos una columna por fotograma.

🔌 Conexiones

Pin módulo MAX7219Pin Arduino
VCC5 V
GNDGND
DIND11
CSD10
CLKD13

💻 Código completo

Usaremos la librería MD_MAX72XX + MD_Parola, especializada en texto desplazable.

// Marquesina de texto con MD_Parola
#include 
#include 
#include 

#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
#define MAX_DEVICES 1     // una matriz 8x8
#define CS_PIN 10

MD_Parola P = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);

void setup() {
  P.begin();
  P.setIntensity(5);
  P.displayClear();
  P.displayText("HOLA AITOR", PA_CENTER, 80, 0,
                PA_SCROLL_LEFT, PA_SCROLL_LEFT);
}

void loop() {
  if (P.displayAnimate()) {
    P.displayReset();   // reinicia el scroll al terminar
  }
}
NotaEl HARDWARE_TYPE depende del módulo concreto. Si el texto sale espejado o desordenado, prueba GENERIC_HW o ICSTATION_HW.

🛠️ Montaje paso a paso

  1. Conecta el módulo (VCC, GND, DIN→D11, CS→D10, CLK→D13).
  2. Instala MD_MAX72XX y MD_Parola.
  3. Sube el sketch; si el texto sale raro, cambia HARDWARE_TYPE.
  4. Personaliza el mensaje y la velocidad de scroll.

🧩 Resolución de problemas

SíntomaCausaSolución
Texto espejadoHARDWARE_TYPE incorrectoPrueba otro tipo
Matriz en blancoCableado SPIRevisa DIN/CLK/CS
Demasiado brilloIntensidad altaBaja setIntensity

🚀 Para ir más lejos

  • Encadena varias matrices subiendo MAX_DEVICES.
  • Muestra iconos animados con bitmaps propios.
← Volver a Formación Arduino