ESP8266 - Matriz de LEDs

Este tutorial te enseña cómo usar el ESP8266 con una pantalla de matriz LED. En detalle, aprenderemos:

Una vez hecho eso, será sencillo modificar el código para otras matrices LED, como una matriz LED de 16x8 o una matriz LED de 64x8 ...

Hardware Requerido

1×ESP8266 NodeMCU
1×Cable USB Tipo-A a Tipo-C (para PC USB-A)
1×Cable USB Tipo-C a Tipo-C (para PC USB-C)
1×FC-16 LED Matrix 32x8
1×FC-16 LED Matrix 8x8
1×Generic LED Matrix 8x8
1×Cables Puente
1×Conector de Alimentación DC
1×5V Power Adapter for ESP8266
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para ESP8266
1×(Recomendado) Divisor de Alimentación para ESP8266 Tipo-C

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca de la matriz LED

Las pantallas de matriz LED suelen llamarse pantallas LED o pantallas de matriz de puntos.

pantalla de matriz LED

Las matrices LED vienen en muchas variedades. Las matrices LED basadas en MAX7219 se usan comúnmente con ESP8266. Tienen las siguientes características:

  • Un bloque único consta de una matriz de LEDs de 8x8 (64 LEDs) y un controlador MAX7219.
  • Existen dos tipos comunes de bloques: módulo genérico y módulo FC-16.
  • También puedes comprar una matriz LED ya hecha de varios bloques (p. ej., 4 en 1, 8 en 1) o conectar varios bloques entre sí para crear una matriz LED del tamaño que desees.
  • El tamaño de la matriz LED que uses debe declararse en el código del ESP8266.

Pinout de la matriz LED

Pinout de la matriz LED

Una matriz LED está formada por uno o más bloques. Cada bloque tiene dos conjuntos de pines:

  • Grupo de pines de entrada:
    • VCC: conectado a una fuente de 5 V.
    • GND: conectado a tierra.
    • DIN: Pin de datos, conectado a cualquier pin digital del ESP8266.
    • CS: Selección de chip, conectado a cualquier pin digital del ESP8266.
    • CLK: Pin de reloj, conectado a cualquier pin digital del ESP8266.
  • Grupo de pines de salida:
    • VCC: se conecta a VCC en el siguiente bloque.
    • GND: se conecta a GND en el siguiente bloque.
    • DOUT: Salida de datos, se conecta al pin DIN del siguiente bloque.
    • CS: se conecta al CS en el siguiente bloque.
    • CLK se conecta al CLK en el siguiente bloque.

Diagrama de Cableado

Si la matriz LED está hecha de un único bloque:

  • Conecta los pines de entrada al ESP8266
  • Deja los pines de salida sin conectar
Diagrama de cableado de la matriz LED 8x8 FC-16 para ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Para obtener m\u00e1s informaci\u00f3n, consulte Pines del ESP8266 y c\u00f3mo alimentar ESP8266 y otros componentes.

Diagrama de cableado genérico para la matriz LED 8x8 ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Si la matriz de LEDs está preconstruida a partir de varios bloques:

  • Conecta el grupo de pines de entrada al ESP8266
  • Deja sin conectar el grupo de pines de salida
Diagrama de cableado de la matriz de LEDs para ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Si estás haciendo la matriz de LED con varios bloques:

  • Conecta los grupos de pines de entrada del primer bloque al ESP8266
  • Conecta los grupos de pines de salida de cada bloque a los grupos de pines de entrada del bloque siguiente
  • Deja sin conectar el grupo de pines de salida del bloque final
Diagrama de cableado de la matriz LED 32x8 para ESP8266 NodeMCU FC-16

This image is created using Fritzing. Click to enlarge image

Debido al alto consumo de corriente de la pantalla (hasta 1 A con brillo máximo):

  • Evita alimentarlo desde el pin de 5V del ESP8266.
  • Utiliza una fuente de alimentación externa de 5V en su lugar. El ESP8266 y la matriz LED pueden alimentarse con un único adaptador de 5V.

Dado que el ESP8266 está conectado a la matriz de LEDs a través de los pines SPI:

  • Los pines D5 (SCK) y D7 (MOSI) del ESP8266 deben utilizarse. Si se está utilizando una placa ESP8266 diferente, consulte la documentación oficial para encontrar los pines SPI equivalentes.
  • El pin D8 (CS) se puede asignar a cualquier pin de la placa ESP8266.

Cómo programar para una matriz LED

No es una tarea sencilla controlar la matriz de LEDs. Afortunadamente, hay bibliotecas disponibles que facilitan mucho las cosas. A continuación se ofrece una guía paso a paso sobre cómo escribir código ESP8266 para controlar la matriz de LEDs:

  • Incorporar bibliotecas:
#include <MD_Parola.h> #include <MD_MAX72xx.h>
  • Especifique el tipo de hardware que se utilizará: GENERIC_HW o FC16_HW.
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
  • Especificar el número de bloques de LED utilizados. Por ejemplo, una matriz LED 4 en 1 contiene 4 bloques.
#define MAX_DEVICES 4
  • Especifique el pin que está conectado al pin CS de la matriz LED. Por ejemplo, el pin D3.
#define CS_PIN D8
  • Generar un objeto MD_Parola para usar con la pantalla de matriz LED.
MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
  • Código ubicado en la función setup():
void setup() { ledMatrix.begin(); // initialize the object ledMatrix.setIntensity(0); // set the brightness of the LED matrix display (from 0 to 15) ledMatrix.displayClear(); // clear led matrix display }
  • Mostrar texto, valores numéricos y efectos animados: consulte la sección siguiente.

ESP8266 - Código de la matriz de LEDs

Este código es adecuado para una matriz de LED FC-16 de 32x8 compuesta por cuatro bloques. Se puede adaptar fácilmente a otros tamaños como 8x8, 16x8 y 64x8.

/* * Este código de ESP8266 NodeMCU fue desarrollado por es.newbiely.com * Este código de ESP8266 NodeMCU se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp8266/esp8266-led-matrix */ #include <MD_Parola.h> #include <MD_MAX72xx.h> #define HARDWARE_TYPE MD_MAX72XX::FC16_HW #define MAX_DEVICES 4 // 4 blocks #define CS_PIN D8 // create an instance of the MD_Parola class MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES); void setup() { ledMatrix.begin(); // initialize the LED Matrix ledMatrix.setIntensity(15); // set the brightness of the LED matrix display (from 0 to 15) ledMatrix.displayClear(); // clear LED matrix display } void loop() { ledMatrix.setTextAlignment(PA_LEFT); ledMatrix.print("Left"); // display text delay(2000); ledMatrix.setTextAlignment(PA_CENTER); ledMatrix.print("Center"); // display text delay(2000); ledMatrix.setTextAlignment(PA_RIGHT); ledMatrix.print("Right"); // display text delay(2000); ledMatrix.setTextAlignment(PA_CENTER); ledMatrix.setInvert(true); ledMatrix.print("Invert"); // display text inverted delay(2000); ledMatrix.setInvert(false); ledMatrix.print(1234); // display number delay(2000); }

Pasos R\u00e1pidos

Para empezar con ESP8266 en el IDE de Arduino, siga estos pasos:

  • Consulta el tutorial cómo configurar el entorno para ESP8266 en Arduino IDE si es la primera vez que usas ESP8266.
  • Conecta los componentes tal como se muestra en el diagrama.
  • Conecta la placa ESP8266 a tu computadora utilizando un cable USB.
  • Abre Arduino IDE en tu computadora.
  • Elige la placa ESP8266 correcta, como (p. ej. NodeMCU 1.0 (ESP-12E Module)), y su puerto COM respectivo.
  • Conecta la ESP8266 a la matriz LED tal como se muestra en el diagrama de cableado.
  • Conecta la ESP8266 a un PC con un cable USB.
  • Haz clic en el icono Bibliotecas en la barra izquierda del Arduino IDE.
  • Busca “MD_Parola”, luego localiza la biblioteca MD_Parola.
  • Pulsa el botón Instalar.
Biblioteca MD_Parola para ESP8266 NodeMCU
  • Se le pedirá instalar la biblioteca “MD_MAX72XX”
  • Haz clic en el botón Instalar Todo para instalar la dependencia.
Biblioteca MD_MAX72XX para ESP8266 NodeMCU
  • El mensaje
  • Copie el código y ábralo con el IDE de Arduino.
  • Haga clic en el botón Subir en el IDE de Arduino para compilar y cargar el código al ESP8266.
  • Observe la matriz LED que muestra el mensaje.

Código de la matriz LED ESP8266 – Texto que se desplaza

Si un mensaje es demasiado largo para mostrarse en una matriz LED, se puede utilizar el efecto de desplazamiento de texto. Esto permite ver el mensaje completo.

Este código para ESP8266 ilustra cómo desplazar un mensaje a lo largo de una matriz de LEDs.

/* * Este código de ESP8266 NodeMCU fue desarrollado por es.newbiely.com * Este código de ESP8266 NodeMCU se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp8266/esp8266-led-matrix */ #include <MD_Parola.h> #include <MD_MAX72xx.h> #define HARDWARE_TYPE MD_MAX72XX::FC16_HW #define MAX_DEVICES 4 // 4 blocks #define CS_PIN D8 // create an instance of the MD_Parola class MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES); void setup() { ledMatrix.begin(); // initialize the object ledMatrix.setIntensity(15); // set the brightness of the LED matrix display (from 0 to 15) ledMatrix.displayClear(); // clear led matrix display ledMatrix.displayScroll("ESP8266", PA_CENTER, PA_SCROLL_LEFT, 100); } void loop() { if (ledMatrix.displayAnimate()) { ledMatrix.displayReset(); } }

Si buscas más efectos de texto, consulta la 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.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!