19/07/2020
Aprender a controlar una matriz de LEDs con Arduino abre un entorno de posibilidades para proyectos creativos, desde simples animaciones hasta displays informativos complejos. La librería Shifter simplifica significativamente este proceso, permitiendo manejar matrices de cualquier tamaño con un mínimo de código. Este artículo te guiará paso a paso en el uso de esta librería, cubriendo desde la conexión del hardware hasta la creación de patrones y animaciones.

Conexión del Hardware: Matriz LED y Arduino
Antes de comenzar con el código, es crucial conectar correctamente la matriz LED a tu Arduino. Existen diferentes tipos de matrices, pero la mayoría comparten una estructura similar: filas (rows) y columnas (columns). Cada LED individual está situado en la intersección de una fila y una columna. La librería Shifter se encarga de multiplexar las filas y columnas, lo que significa que controla cada LED individualmente, incluso si no tienes suficientes pines en tu Arduino.
Ejemplo de conexión (Matriz 8x8): Una matriz de 8x8 LEDs normalmente requiere 8 pines para las filas y 8 pines para las columnas. Esto suma un total de 16 pines. Sin embargo, con la técnica de multiplexación y la librería Shifter, puedes reducir considerablemente el número de pines necesarios. La conexión específica dependerá del esquema de la matriz, por lo que es importante consultar la documentación del fabricante.
| Pin Arduino | Función | Pin Matriz |
|---|---|---|
| 2 | Columna 1 | Columna 1 |
| 3 | Columna 2 | Columna 2 |
| 4 | Columna 3 | Columna 3 |
| 5 | Columna 4 | Columna 4 |
| 6 | Fila 1 | Fila 1 |
| 7 | Fila 2 | Fila 2 |
| 8 | Fila 3 | Fila 3 |
| 9 | Fila 4 | Fila 4 |
| 10 | ... | ... |
| 11 | ... | ... |
Nota: Esta tabla es un ejemplo para una matriz 8xAjusta los pines según tu matriz y esquema de conexión.
Instalación de la Librería Shifter
La librería Shifter necesita ser instalada en tu entorno de Arduino IDE. Puedes hacerlo de dos maneras:
- A través del Administrador de Librerías: Abre el IDE de Arduino, ve a "Sketch" -> "Include Library" -> "Manage Libraries..." Busca "Shifter" y selecciona la librería de Adafruit o una librería similar compatible. Instala la librería.
- Manualmente: Descarga la librería Shifter desde su repositorio en GitHub o desde la página del creador. Extrae el archivo ZIP y coloca la carpeta resultante en la carpeta "libraries" dentro de tu carpeta de instalación de Arduino IDE.
Una vez instalada, reinicia el IDE de Arduino para que los cambios surtan efecto.
Código de Ejemplo: Mostrar un Patrón Simple
Este ejemplo muestra cómo usar la librería Shifter para mostrar un patrón simple en una matriz de 8x8 LEDs. Recuerda ajustar los pines según tu conexión.
#include <Adafruit_GFX.h>#include <Max721h>#include <SPI.h>#define CS_PIN 10#define NUM_DEVICES 1Max7219 matrix = Max7219(CS_PIN, NUM_DEVICES);void setup() { matrix.begin(); matrix.setIntensity(8); //Ajusta la intensidad (0-15)}void loop() { matrix.clear(); // Limpia la pantalla matrix.drawPixel(3,3,1); // Dibuja un pixel en la fila 3, columna 3 matrix.writeDisplay(); // Actualiza la pantalla delay(1000); // espera 1 segundo}Este código incluye las librerías necesarias, inicializa la matriz y dibuja un solo pixel en la posición (3,3). Puedes expandir este código para crear patrones más complejos.
Creando Patrones y Animaciones más Complejos
Para crear patrones y animaciones más complejos, necesitarás un conocimiento más profundo de la librería Shifter y de las funciones que ofrece. Puedes utilizar las funciones para dibujar líneas, rectángulos, círculos, etc. También puedes utilizar bucles para crear efectos animados.
Ejemplos de funciones útiles:
drawPixel(x, y, color): Dibuja un pixel en una posición específica.drawLine(x1, y1, x2, y2, color): Dibuja una línea entre dos puntos.drawRect(x, y, w, h, color): Dibuja un rectángulo.drawCircle(x, y, r, color): Dibuja un círculo.fillRect(x, y, w, h, color): Dibuja un rectángulo relleno.fillCircle(x, y, r, color): Dibuja un círculo relleno.
Combinando estas funciones y usando bucles, puedes crear una amplia gama de efectos visuales.
Solución de problemas comunes
Matriz no enciende: Verifica la conexión del hardware, la alimentación de la matriz y la intensidad de la pantalla. Asegúrate de que los pines estén correctamente configurados en el código.
Patrones incorrectos: Revisa el código para asegurarte de que las coordenadas y las funciones están siendo utilizadas correctamente. Asegúrate de que la librería Shifter esté correctamente instalada.
Flickering (parpadeo): El parpadeo es común en las matrices LED debido a la multiplexación. Ajustar la frecuencia de actualización o la intensidad de los LEDs puede ayudar a reducir el parpadeo.
Conclusión
La librería Shifter es una herramienta poderosa para controlar matrices de LEDs con Arduino. Con su ayuda, puedes crear proyectos impresionantes con un mínimo esfuerzo. Este artículo ha proporcionado una introducción básica, pero las posibilidades son ilimitadas. Experimenta con diferentes patrones, animaciones y funciones para explorar todo el potencial de esta librería.
Consultas habituales
- ¿Qué librería usar para matrices LED con Arduino? La librería Shifter es una opción popular y eficiente.
- ¿Cómo controlar una matriz LED de 16x32? La librería Shifter es adaptable a diferentes tamaños, aunque puede requerir un manejo más complejo del código.
- ¿Cómo hacer animaciones en una matriz LED? Se usan bucles y funciones para dibujar secuencias de imágenes en la matriz.
- ¿Cómo aumentar el brillo de una matriz LED? Se ajusta la intensidad (brightness) de la librería o directamente en la matriz.
Si quieres conocer otros artículos parecidos a Cómo usar la librería shifter para controlar un cartel de leds con arduino puedes visitar la categoría Libros y Librerías.
