#12 ANUNCIO PUBLICITARIO CON MATRIZ DE LED

Introducción

Cuando vamos en la calle podemos ver anuncios publicitarios luminosos de mensajes desplazándose a través de una pantalla de LED o mejor llamada Matriz LED, estas matrices son capaces de mostrar la figura o letra que quieras y del modo que la quieras, simplemente son LED conectados por el ánodo o el cátodo, en nuestro caso nuestra matriz es de Cátodo común, para su manejo haremos uso de un Shift Register 74HC595n que lo encuentras en nuestro Full kit PICARO. Aquí puedes ver el esquema circuital por si tienes alguna duda.

Pasos a seguir:

 

#1   Armar el circuito según la imagen

#2   Abrir el IDE de Arduino y conectar la tarjeta PICARO al computador

#3   Seleccionar el tipo de tarjeta como Arduino Uno

#4   Elegir el puerto serial en que se encuentra conectada la tarjeta PICARO

#5   Copiar el código de ejemplo al IDE, compilarlo y subirlo

Listado de componentes :

Código:

 Nuestro código se encargara de mostrar una letra por segundo, que como resultado final sera la palabra PICARO, para ello creamos las matrices para cada letra siendo los unos los “1” los LED que se encenderán, luego se recorre toda la matriz de LED para ir verificando que bits deben encenderse.
//Ejemplo 11

//Se utilizara el Shift Register 74HC595N

int latchPin = 4; // Pins que van conectados al Shift Register

int clockPin = 5;

int dataPin = 3;

int pins [8] = {6, 7, 8, 9, 10, 11, 12, 13}; // Pins de catodo comun

byte P[8] = { B11111100, //Se definen las letras que quieres que aparezcan

                  B10000010,

                  B10000010,

                  B11111100,

                  B10000000,

                  B10000000,

                  B10000000,

                  B10000000

            };

byte I[8] = { B11111111,

                  B00010000,

                  B00010000,

                  B00010000,

                  B00010000,

                  B00010000,

                  B00010000,

                  B11111111

                };

byte C[8] = { B11111111,

               B10000000,

               B10000000,

               B10000000,

               B10000000,

               B10000000,

               B10000000,

               B11111111

            };

byte A[8] = { B00011000, 

                B00100100,

                B01000010,

                B10000001,

                B11111111,

                B10000001,

                B10000001,

                B10000001

            };

byte R[8] = { B11111000,

               B10000100,

               B10000010,

               B11111100,

               B11000000,

               B10010000,

               B10000100,

               B10000010

            };

byte O[8] = { B11111111,

               B10000001,

               B10000001,

               B10000001,

               B10000001,

               B10000001,

               B10000001,

               B11111111

            };

void setup() {

  Serial.begin(9600); // Iniciamos el puerto serial

  pinMode(latchPin, OUTPUT); // Configuramos los pines como salida

  pinMode(clockPin, OUTPUT);

  pinMode(dataPin, OUTPUT);

 

  for (int i = 0; i < 8; i++) { // Este bucle se utiliza para configurar los catodos comunes

    pinMode(pins[i], OUTPUT);

    digitalWrite(pins[i], HIGH);

  }

}

void loop() {

  for (int k = 0; k < 1000; k++) { // Se muestra la letra por un segundo

    mostrar_char(P);

  }

  for (int k = 0; k < 1000; k++) { // Se muestra la letra por un segundo

    mostrar_char(I);

  }

  for (int k = 0; k < 1000; k++) { // Se muestra la letra por un segundo

    mostrar_char(C);

  }

 

  for (int k = 0; k < 1000; k++) { // Se muestra la letra por un segundo

    mostrar_char(A);

  }

  for (int k = 0; k < 1000; k++) { // Se muestra la letra por un segundo

    mostrar_char(R);

  }

  for (int k = 0; k < 1000; k++) { // Se muestra la letra por un segundo

    mostrar_char(O);

  }

 

}

void mostrar_char(byte ch[8]) { //Funcion para Mostrar

  for (int j = 0; j < 8; j++) { //Se va realizando un recorrido por todas las posiciones

    digitalWrite(latchPin, LOW); //de las columnas

    digitalWrite(pins[j], LOW);

    shiftOut(dataPin, clockPin, LSBFIRST, ch[j]); //Funcion para desplazarse de bit en bit, desde el bit menos significativo.

    digitalWrite(latchPin, HIGH);

   

    digitalWrite(latchPin, LOW);

    shiftOut(dataPin, clockPin, LSBFIRST, B00000000); // Para deshacerse del parpadeo

    digitalWrite(latchPin, HIGH);

    digitalWrite(pins[j], HIGH);

  }

}

 

Demostración

Que te parece si creamos un proyecto donde la palabra PICARO vaya desplazándose por nuestra matriz en vez de solo mostrar cada letra por un un segundo, es decir que aparezca la letra "P" y se mueva en sentido hacia la izquierda hasta que se vaya mostrando toda la palabra.

¿En busca del Kit PICARO?

Con el PICARO Starter Kit podrás realizar estos ejemplos ¡y mucho más!
Producto Chileno. Encuéntralo en MCI Electronics.

Contacto

Direccion Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile.

Phone: +56 2 2333 9579 / +56 2 2231 9268

Horario Lunes a Viernes de 8:00 a 18:00

Nosotros

En MCI Electronics, estamos aquí para mantener la industria en movimiento. Nuestro objetivo es difundir y hacer accesible el uso de la electrónica a todo aquel que tenga el interés. Para ello nos esforzamos para traer los mejores componentes y módulos de manera que puedas aprender desarrollando tus propios proyectos.

Somos tu aliado en electrónica.

Suscríbete a nuestro boletín