ESP32 - Matriz de LEDs
Las pantallas de matriz LED, también conocidas como pantallas LED o pantallas de matriz de puntos, son ampliamente utilizadas. En este tutorial, vamos a aprender:
- Matriz de LEDs
- Cómo conectar el ESP32 a una matriz LED 8x8
- Cómo conectar el ESP32 a una matriz LED 32x8
- Cómo conectar el ESP32 para mostrar texto, números y efectos animados en la matriz LED.
Después de eso, puedes adaptar fácilmente el código para otras matrices LED, como la matriz LED de 16x8, la matriz LED de 64x8 ...
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca de la matriz LED

Hay muchos tipos de matrices LED. Con ESP32, la matriz LED basada en MAX7219 es ampliamente utilizada. La matriz LED basada en MAX7219 tiene las siguientes características:
- Una unidad base de una matriz de LEDs es un bloque
- Cada bloque tiene una matriz de 8×8 LEDs (64 LEDs) y un controlador MAX7219.
- Existen dos formas populares de bloques: el módulo genérico y el módulo FC-16.
- Una matriz de LEDs puede estar formada por un solo bloque o por múltiples bloques en una cadena en cascada.
- Puedes comprar una matriz LED de múltiples bloques ya ensamblada (por ejemplo, 4 en 1, 8 en 1).
- También puedes comprar varios bloques y conectarlos para formar una matriz LED del tamaño que desees.
- Declararás el tamaño de la matriz LED que uses en el código del ESP32.
Esquema de pines

Una matriz de LEDs está formada por uno o varios bloques. Cada bloque incluye dos grupos de pines:
- Grupo de pines de entrada:
- VCC: se conecta a 5V.
- GND: se conecta a GND.
- DIN es el pin de datos; conéctalo a cualquier pin digital del ESP32.
- CS: Selección de chip, conéctalo a cualquier pin digital del ESP32.
- CLK: Pin de reloj, conéctalo a cualquier pin digital del ESP32.
- Grupo de pines de salida:
- VCC: se conecta al VCC del grupo de pines de entrada en el siguiente módulo.
- GND: se conecta a GND del grupo de pines de entrada en el siguiente módulo.
- DOUT: Salida de datos, se conecta al pin DIN del grupo de pines de entrada del siguiente módulo.
- CS: se conecta a la Selección de chip del grupo de pines de entrada en el siguiente módulo.
- CLK: se conecta al CLK del grupo de pines de entrada en el siguiente módulo.
Diagrama de Cableado
Si la matriz de LEDs está hecha de un único bloque:
- Conectar los grupos de pines de entrada al ESP32
- Dejar sin conexión el grupo de pines de salida

This image is created using Fritzing. Click to enlarge image
Si no sabe c\u00f3mo alimentar ESP32 y otros componentes, encuentre instrucciones en el siguiente tutorial: C\u00f3mo alimentar ESP32.

This image is created using Fritzing. Click to enlarge image
Si la matriz de LEDs está preconstruida en varios bloques:
- Conecta los grupos de pines de entrada al ESP32
- Deja el grupo de pines de salida sin conectar

This image is created using Fritzing. Click to enlarge image
Si la matriz LED está hecha de varios bloques por ti mismo:
- Conecta los grupos de pines de entrada del primer bloque al ESP32
- Conecta los grupos de pines de salida de cada bloque a los grupos de pines de entrada del siguiente bloque
- Deja sin conectar el grupo de pines de salida del último bloque

This image is created using Fritzing. Click to enlarge image

This image is created using Fritzing. Click to enlarge image
Debido a que la pantalla consume mucha corriente (hasta 1 A a brillo máximo):
- No uses la alimentación del pin de 5V del ESP32.
- En su lugar, utiliza una fuente de alimentación externa de 5V. El ESP32 y la matriz LED pueden compartir la alimentación de un adaptador de 5V.
Porque el ESP32 se conecta a la matriz de LEDs a través de pines SPI:
- Pin GPIO18 (SCK) y GPIO23 (MOSI) en ESP32
- El pin GPIO21 (CS) se puede cambiar a cualquier pin
Cómo programar para una matriz LED
No es fácil controlar la matriz de LEDs. Afortunadamente, hay bibliotecas disponibles para facilitarlo. A continuación se presenta un paso a paso sobre cómo escribir código para ESP32 para controlar la matriz de LEDs.
- Incluir bibliotecas:
- Especifique qué hardware se está utilizando: GENERIC_HW o FC16_HW.
- Defina cuántos bloques LED se utilizan. Por ejemplo, una matriz LED 4 en 1 tiene 4 bloques.
- Define el pin que se conecta al pin CS de la matriz LED. Por ejemplo, el pin GPIO21
- Crea una nueva instancia de la clase MD_Parola para la pantalla de matriz LED.
- Código en la función setup():
- Mostrar texto, número y efectos animados: ver la siguiente parte
ESP32 - Código de la Matriz de LEDs
El código a continuación es para una pantalla de matriz LED 32x8 FC-16 (4 bloques). Pero puedes adaptarlo fácilmente para 8x8, 16x8, 64x8...
Pasos R\u00e1pidos
- Si es la primera vez que usas ESP32, consulta cómo configurar el entorno para ESP32 en Arduino IDE.
- Realiza el cableado como en la imagen anterior.
- Conecta la placa ESP32 a tu PC mediante un cable USB micro.
- Abre Arduino IDE en tu PC.
- Selecciona la placa ESP32 correcta (p. ej. ESP32 Dev Module) y el puerto COM.
- Haz clic en el icono Libraries en la barra izquierda del IDE de Arduino.
- Busca “MD_Parola”, luego encuentra la biblioteca MD_Parola.
- Haz clic en el botón Instalar.

- Se le pedirá que instale la biblioteca “MD_MAX72XX”.
- Haga clic en el botón Instalar todo para instalar la dependencia.

- Copia el código anterior y ábrelo con Arduino IDE
- Haz clic en el botón Upload en Arduino IDE para subir el código al ESP32
- Ver la pantalla de la matriz de LEDs
Código de la matriz LED ESP32 – Texto desplazable
Cuando quieras imprimir un mensaje largo que no quepa en una pantalla de matriz LED, puedes usar la técnica del efecto de desplazamiento de texto.
El código ESP32 que se muestra a continuación demuestra cómo desplazar un mensaje en la matriz LED.
Para más efectos de texto, por favor visite MD_Parola Library Reference.
Video Tutorial
Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.