Nota

¡Hola, bienvenido a la Comunidad de Entusiastas de Raspberry Pi, Arduino y ESP32 en Facebook! Profundiza en Raspberry Pi, Arduino y ESP32 junto a otros entusiastas.

¿Por qué unirse?

  • Soporte experto: Resuelve problemas postventa y desafíos técnicos con la ayuda de nuestra comunidad y equipo.

  • Aprender y compartir: Intercambia consejos y tutoriales para mejorar tus habilidades.

  • Vistas previas exclusivas: Obtén acceso anticipado a nuevos anuncios de productos y avances.

  • Descuentos especiales: Disfruta de descuentos exclusivos en nuestros productos más nuevos.

  • Promociones festivas y sorteos: Participa en sorteos y promociones especiales de temporada.

👉 ¿Listo para explorar y crear con nosotros? Haz clic en [Aquí] y únete hoy mismo.

2.8 Módulo de Matriz LED

Resumen

En esta lección, aprenderás sobre el Módulo de Matriz LED. Este módulo utiliza el controlador MAX7219 para manejar la matriz de LEDs de 8 x 8.

Componentes necesarios

../_images/list_2.8.png

Circuito Fritzing

En este ejemplo, conectamos el pin VCC del MAX7219 a 5V, GND a tierra, DIN al pin digital 12, CS al pin digital 10 y CLK al pin digital 11.

../_images/image443.png

Diagrama esquemático

../_images/image444.png

Código

Nota

  • Puedes abrir el archivo 2.8_ledMatrix.ino en la ruta sunfounder_vincent_kit_for_arduino\code\2.8_ledMatrix directamente.

  • Se utiliza la biblioteca LedControl en este ejemplo, la cual puedes instalar desde el Gestor de Bibliotecas.

    ../_images/lib_ledcontrol.png

Después de cargar el código, verás que los LEDs se encienden en la secuencia de una columna, una fila, un punto o incluso aparece una imagen en la matriz de LEDs.

Análisis del código

Al llamar a la biblioteca LedControl.h, puedes utilizar la matriz de LEDs de manera sencilla.

#include "LedControl.h"

Funciones de la biblioteca

LedControl(int dataPin, int clockPin, int csPin, int numDevices)

Crea una instancia de tipo LedControl para comunicarse con los dispositivos MAX7219. La inicialización de LedControl toma 4 argumentos.

  • dataPin, clockPin, csPin: Los primeros tres argumentos son los números de pines en el Arduino que están conectados al MAX7219. Puedes elegir cualquier pin digital, pero es mejor evitar los pines 0, 1 y 13 ya que algunos se utilizan para comunicación serial o tienen un LED conectado.

  • numDevices: El cuarto argumento es el número de dispositivos MAX7219 en cascada que estás utilizando con esta instancia de LedControl. La biblioteca puede manejar hasta 8 dispositivos con una sola variable de LedControl.

void shutdown(int addr, bool b)
  • addr: La dirección de la pantalla a controlar.

  • b: Si es true, el dispositivo entra en modo de apagado. Si es false, entra en operación normal.

void setIntensity(int addr, int intensity)

Este método permite controlar el brillo en 16 niveles discretos. Valores más altos hacen que la pantalla sea más brillante hasta el máximo de 15.

  • addr: La dirección de la pantalla a controlar.

  • intensity: El brillo de la pantalla. Solo valores entre 0 (más oscuro) y 15 (más brillante) son válidos.

void clearDisplay(int addr)

Apaga todos los LEDs.

  • addr: La dirección de la pantalla a controlar.

void setLed(int addr, int row, int col, boolean state)

Establece el estado de un LED individual.

  • addr: La dirección de la pantalla a controlar.

  • row: La fila del LED (0..7).

  • col: La columna del LED (0..7).

  • state: Si es true, el LED se enciende; si es false, se apaga.

void setRow(int addr, int row, byte value)

Establece el estado de los 8 LEDs en una fila.

  • addr: La dirección de la pantalla a controlar.

  • row: Fila que se va a configurar (0..7).

  • value: Cada bit configurado en 1 encenderá el LED correspondiente (por ejemplo, B01000000 encenderá el segundo LED).

void setColumn(int addr, int col, byte value)

Establece el estado de los 8 LEDs en una columna.

  • addr: La dirección de la pantalla a controlar.

  • col: Columna que se va a configurar (0..7).

  • value: Cada bit configurado en 1 encenderá el LED correspondiente (por ejemplo, B01000000 encenderá el segundo LED).

Imagen del fenómeno

../_images/image109.jpeg