noviembre 26, 2020

VARIOS-Control de matrices LED 8×8 con MAX7219

Written by

Actualizado con microcontrolador ESP-01.

Proponemos a continuación nuestra experiencia a la hora de conectar y controlar una matriz LED de un solo color y compuesta de cuadrados de 8×8 LEDs con Arduino. La prueba que hacemos es de 4 módulos, por lo que el total es de 8×32 LEDs, pero lo mismo valdría para más o menos tamaño.

En el mercado hay varios tipos de matrices LED y no todas funcionan de la misma forma. De igual forma, hay varias librerías distintas para funcionar en Arduino y cada una vale para su familia de matrices LED. Tras probar varias librerías, la que mejor nos ha funcionado es MD_MAX72XX y ponemos el enlace para descargarla aquí:

https://github.com/MajicDesigns/MD_MAX72XX

A continuación aparece la forma de trabajar con Arduinos y con ESP8266.

Control con microcontrolador Arduino

Las matrices LED que usamos son unas baratas que se pueden obtener fácilmente en Ebay, Aliexpress o Amazon.

Matrices LED 8×32

Las conexiones para una tarjeta Arduino Mega son:

Conexiones de la matriz LED a Arduino

Para probar las matrices, conectamos los cables como en la imagen de arriba y usamos una fuente externa de 5 V para no sobrecargar las patillas del Arduino. Abrimos el IDE, instalamos la librería propuesta y luego el archivo de ejemplo que se prefiera. La prueba que nosotros hacemos es la más completa: MD_MAX72XX_Test. Al abrir el ejemplo hay que hacer las siguientes modificaciones:

  • En la línea 25 poner el tipo de matrix LED usada, en nuestro caso FC16_HW.
  • En la línea 26, cambiar el dato MAX_DEVICES al número de matrices 8×8 que se usen, en nuestro caso 4.
  • Comentar la línea 33 y descomentar la línea 35 si se usan las patillas propuestas.

Se carga el programa en la tarjeta y si no hay ningún problema se debería ver la matriz funcionando.

A continuación mostramos en un vídeo todo el proceso con la prueba de funcionamiento.

Control con microcontrolador ESP8266

Una vez que se tiene el sistema montado y probado, cambiarlo al ESP8266 es fácil. El esquema de conexiones es ahora:

Conexiones de matriz LED a ESP8266

Usamos la misma librería MD_MAX72XX. Los cambios que hay que hacer al ejemplo MD_MAX72XX_Test son:

  • En la línea 24 poner el tipo de matriz LED usada, en nuestro caso FC16_HW.
  • En la línea 25, cambiar el dato MAX_DEVICES al número de matrices 8×8 que se usen, en nuestro caso 4.
  • En la línea 30, poner la patilla CS_PIN con el valor D4.
  • En este caso, la librería funciona con las patillas por defecto, así que la línea 33 se mantiene normal y la línea 35 comentada.

A continuación mostramos en un vídeo todo el proceso con la prueba de funcionamiento.

Control con microcontrolador ESP-01

El ESP01 es, en realidad, un microcontrolador de la familia ESP8266. El problema a la hora de usarlo es la dificultad de programación, ya que no dispone de puerto USB, y que dispone de pocas patillas de control, sólo cuatro. Pero dicho esto, su uso es igual que una placa convencional. El montaje que vamos a usar ahora es el siguiente:

Conexiones de matriz LED con ESP-01

Usamos la misma librería MD_MAX72XX y el mismo ejemplo de uso MD_MAX72XX_Test. Para que funcione hay que hacer los siguientes cambios:

  • En la línea 24 poner el tipo de matriz LED usada, en nuestro caso FC16_HW.
  • En la línea 25, cambiar el dato MAX_DEVICES al número de matrices 8×8 que se usen, en nuestro caso 4.
  • En la línea 27, poner la patilla CLK_PIN con el valor 0.
  • En la línea 28, poner la patilla DATA_PIN con el valor 3.
  • En la línea 29, poner la patilla CS_PIN con el valor 1.
  • En este caso, la librería no funciona con las patillas por defecto, así que se comenta la línea la línea 32 con las barras por delante: // MD_MAX72XX mx = MD_MAX72XX(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
  • Y se descomenta la línea 36: MD_MAX72XX mx = MD_MAX72XX(HARDWARE_TYPE, DATA_PIN, CLK_PIN, CS_PIN, MAX_DEVICES);

Cuando tenemos el programa modificado, lo cargamos en el ESP-01. Por comodidad, usamos un adaptador USB FTDI, teniendo en cuenta que hay que conectar la patilla GPIO0 a GND para que el programa se pueda grabar.

Grabando el ESP-01 con el adaptador FTDI

y cuando el programa se ha grabado desconectamos el ESP-01 y lo conectamos, con ayuda de una placa Board, a la matriz LED, cuidando de no equivocar las patillas, a la fuente de 5 V para la matriz y al adaptador FTDI, que es de donde sacamos los 3’3 V que usa el microcontrolador.

Conexiones del ESP-01 con la matriz LED

A continuación se muestra todo el proceso con la prueba de funcionamiento.

Category : VARIOS

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Proudly powered by WordPress and Sweet Tech Theme