WhatsApp / Celular
+3116183653
0Item(s)
0 Items View Cart

No hay artículos en su carrito de compras.

Product was successfully added to your shopping cart.
Matriz Led 8X8

Matriz Led 8X8

 

INTRODUCCIÓN


¿Te has preguntado como controlar  una matriz de 8X8 con arduino? - Pues acá te enseñamos la manera más óptima de hacerlo con el  integrado MAX7219 IC de cátodo común. Además mostraremos un corazón en la matriz led, enamora a tu pareja en esta fecha de San Valentin haciendo algo especial con estos componentes.

 

 

 

Especificación módulo Matrix LED:

  • Voltaje de funcionamiento: 4.7V - 5.3V DC
  • Tensión típica: 5V
  • Corriente de funcionamiento: 320mA
  • Corriente máxima de funcionamiento: 2A

 

Componentes necesarios:

  • Arduino UNO R3
  • Matriz Led 8x8
  • Cables Dupont M-H

 

Conexionado

 El MAX7219 es un driver serial que permite ahorrar mucho cableado para hacer funcionar una matriz led, gracias a él solamente necesitareamos realizar 5 conexiones a nuestro Arduino.  Conecta con cables Macho Hembra el módulo con el Arduino tal como se ve en la siguiente tabla:

 

 

  • DIN: Es el pin por donde se transmiten los datos seriales, dichos datos son guardados en un shift register de 16 bits. 
  • CLk: reloj que permite marcar la frecuencia de desplazamiento de los datos de registro. 
  • CS: Entrada chip select, el dato es guardado cuando este pin está en bajo. 
 

 

 

 Subir Sketch 

El programa tiene diferentes subrutinas que se encargan de controlar las filas y columnas de la matriz led para así encender los leds que nosotros deseamos. Al inicio encontrará un patrón que corresponde a la forma de un corazón, la cual mostraremos en la matriz led. 

 
/*
* Arduino Sweet Heart
*  An Arduino & 8x8 LED dot matrix project
* Using Max7219 IC
* Designed by T.K.Hareendran
* 17 July 2014
* www.ardobot.com
*/
 
unsigned char i;
unsigned char j; 
 
int Max7219_pinCLK = 10;
int Max7219_pinCS = 9;
int Max7219_pinDIN = 8;
 
unsigned char disp1[19][8]={
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Heart Pattern
  0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x80, 0x40, 0x40, 0x00, 0x00, 0x00, 
  0x00, 0x80, 0x80, 0x40, 0x40, 0x00, 0x00, 0x00, 
  0x40, 0x80, 0x80, 0x40, 0x40, 0x00, 0x00, 0x00, 
  0x60, 0x80, 0x80, 0x40, 0x40, 0x00, 0x00, 0x00, 
  0x60, 0x90, 0x80, 0x40, 0x40, 0x00, 0x00, 0x00, 
  0x60, 0x90, 0x88, 0x40, 0x40, 0x00, 0x00, 0x00, 
  0x60, 0x90, 0x88, 0x44, 0x40, 0x00, 0x00, 0x00, 
  0x60, 0x90, 0x88, 0x44, 0x44, 0x00, 0x00, 0x00, 
  0x60, 0x90, 0x88, 0x44, 0x44, 0x08, 0x00, 0x00, 
  0x60, 0x90, 0x88, 0x44, 0x44, 0x08, 0x10, 0x00, 
  0x60, 0x90, 0x88, 0x44, 0x44, 0x08, 0x10, 0x20, 
  0x60, 0x90, 0x88, 0x44, 0x44, 0x08, 0x10, 0x60, 
  0x60, 0x90, 0x88, 0x44, 0x44, 0x08, 0x90, 0x60, 
  0x60, 0x90, 0x88, 0x44, 0x44, 0x88, 0x90, 0x60, // Heart Pattern
 
};
 
void Write_Max7219_byte(unsigned char DATA) 
{   
  unsigned char i;
  digitalWrite(Max7219_pinCS,LOW);  
  for(i=8;i>=1;i--)
  {    
    digitalWrite(Max7219_pinCLK,LOW);
    digitalWrite(Max7219_pinDIN,DATA&0x80);
    DATA = DATA<<1;
    digitalWrite(Max7219_pinCLK,HIGH);
  }                                 
}
 
void Write_Max7219(unsigned char address,unsigned char dat)
{
  digitalWrite(Max7219_pinCS,LOW);
  Write_Max7219_byte(address);          
  Write_Max7219_byte(dat);               
  digitalWrite(Max7219_pinCS,HIGH);
}
 
void Init_MAX7219(void)
{
  Write_Max7219(0x09, 0x00);      
  Write_Max7219(0x0a, 0x03);      
  Write_Max7219(0x0b, 0x07);       
  Write_Max7219(0x0c, 0x01);      
  Write_Max7219(0x0f, 0x00);      
}
 
void setup()
{
 
  pinMode(Max7219_pinCLK,OUTPUT);
  pinMode(Max7219_pinCS,OUTPUT);
  pinMode(Max7219_pinDIN,OUTPUT);
  delay(50);
  Init_MAX7219();
}
 
void loop()
{ 
  for(j=0;j<19;j++)
  {
    for(i=1;i<9;i++)
      Write_Max7219(i,disp1[j][i-1]);
    delay(500);
  }   
}