Descripción
Las matrices LED son displays formados por un grupo de LEDS formando cuadrados o rectángulos de diferentes tamaños.
Las matrices LED son displays formados por un grupo de LEDS formando cuadrados o rectángulos de diferentes tamaños.
Controlar este tipo de matrices y generar gráficos todo a mano directamente con arduino es muy difícil.
Estas matrices se usan junto a un controlador MAX7219, por lo sencillo y lo económico que es. La comunicación de este módulo se realiza a través de SPI, por lo que sólo necesitaremos 3 pines de Arduino a parte de la alimentación.
Estas matrices es permite combinar las todas las que se quieran de ellas, conectando la salida de una a la entrada de la siguiente.
Estas matrices es permite combinar las todas las que se quieran de ellas, conectando la salida de una a la entrada de la siguiente.
Para que estén lo menos separadas posible se suelda los terminales
Materiales
Placa de Arduino
1 Grupo de 4 matrices LED de 8x8
1 Matriz LED de 8x8 con MAX 7219
Protoboar, Cables de conexión y un cable USB para conectar arduino a PC y sirve además de alimentación.
Esquema
La conexión de estas matrices a Arduino es muy sencilla. Nos basta con 5 pines, dos para la alimentación y 3 para el bus SPI. En este caso vamos a usar el Arduino UNO, pero si usáis otro tipo de Arduino tenéis que mirar qué pines son los que les corresponden al bus SPI: SS, MOSI y SCK.
Esquema
La conexión de estas matrices a Arduino es muy sencilla. Nos basta con 5 pines, dos para la alimentación y 3 para el bus SPI. En este caso vamos a usar el Arduino UNO, pero si usáis otro tipo de Arduino tenéis que mirar qué pines son los que les corresponden al bus SPI: SS, MOSI y SCK.
Montaje
Código
Recuerda descargar las librerías correspondientes.Aquí os dejos el programa completo Matrices
#include <MD_Parola.h>
#include <MD_MAX72XX.h>
#include <SPI.h>
// Tipo de hardware más habitual.
// Si el texto sale al revés prueba FC16_HW.
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
#define MAX_DEVICES 8
#define CS_PIN 10
MD_Parola matriz = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
const char* cadena[] =
{
"Mago Miguelon ",
"MAGO MIGUELON",
"La Reina de Picas",
"Magia y Electronica",
"Suscribete",
"El número 1",
"In english too",
"Domotica con Arduino",
"Controla tu mundo con Arduino",
"R. Madrid 1 - F.C. Barcelona 1",
"The winner is ... you!!! "
};
const uint8_t NUM_MENSAJES = sizeof(cadena) / sizeof(cadena[0]);
void setup()
{
randomSeed(analogRead(A0));
matriz.begin();
matriz.setIntensity(7);
matriz.displayClear();
matriz.setZone(0, 0, MAX_DEVICES - 1);
matriz.setZoneEffect(0, true, PA_FLIP_UD); // gira 180° vertical
matriz.setZoneEffect(0, true, PA_FLIP_LR); // corrige espejo si hiciera falta
matriz.displayText(
cadena[random(NUM_MENSAJES)],
PA_CENTER,
80, // velocidad
1000, // pausa final
PA_SCROLL_RIGHT,
PA_SCROLL_RIGHT
);
}
void loop()
{
if (matriz.displayAnimate())
{
matriz.displayText(
cadena[random(NUM_MENSAJES)],
PA_CENTER,
80,
1000,
PA_SCROLL_RIGHT,
PA_SCROLL_RIGHT
);
matriz.displayReset();
}
}
Sería interesante la idea de conectarle un módulo bluetooth y pasarle las cadenas desde un teléfono móvil.
No hay comentarios:
Publicar un comentario