jueves, 31 de octubre de 2013

Laboratorio N°12


Objetivo


Controlar una matrix de LEDs de 8x8 RGB cableada a través de un IC MaximMAX7219, para mostrar un mensaje letra por letra, desplazandose de derecha a izquierda.

¿Qué es una matriz de led?. Una matriz de leds esta constituido por leds dispuestos en filas y columnas, cada led se conecta a una fila y a una columna.

Principio de funcionamiento: la técnica de matriz de puntos (dot matrix) ha sido utilizada durante décadas para la impresión y el despliegue de texto y gráficas.
Cada caracter está formado por una matriz de puntos ó pixeles típicamente de 8 x 8, 8 x 6 ó 7 x 5 puntos, al gusto del usuario. Los periféricos de salida son en general los LCD, matriz de leds y displays de 7 segmentos.

El MAX7219 es un estupendo chip capaz de controlar hasta 8 dígitos de 7 segmentos o 64 diodos LED independientes. El chip incorpora un decoder BCD code-B, realiza multiplexado y una memoria RAM interna de 8x8 para almacenar el valor de cada dígito. Sólamente se necesita de una resitencia externa para hacerlo funcionar. Se maneja tan sólo con 3 patillas y es compatible con SPI™, QSPI™, y MICROWIRE™.
El MAX7219 es ideal para controlar facilmente una gran cantidad de diodos LED o dígitos de 7 segmentos. También podemos controlar una matriz de LED de 8x8 con un sólo chip. Existen toneladas de ejemplos con Arduino y microcontroladores similares y su uso es muy sencillo.
Caracteristicas:
  • CONTROLADOR DE LED DE 8 DÍGITOS CC, 7219, DIP24
  • Dígitos controlables: 8 (o 64 LED individuales)
  • Tipo de interfaz: Cátodo común
  • Interfaz: Serial 4 Wire
  • Tensión de alimentación: 4V - 5,5V
  • Pines:24
  • Temperatura, Rango de funcionamiento: -0 °C a +70 °C
  • Tipo de caja:DIP
  • Marcador:MAX7219CNG+


Elementos Utilizados:


  • 1 Computador
  • 1 Matriz 8x8 RGB
  • 1 MAX7219
  • 1 Protoboard
  • Cable UTP (Cable para conexiones en la protoboard)
  • Hardware Arduino UNO
  • Software "Arduino"

Diagrama de conexion del integrado y la matrix RGB

Imagenes del Montaje

1- Tomamos los materiales descritos y la tarjeta Arduino UNO



2- Ubicamos primero la matriz 8x8, para lo que se debe tener en cuenta la configuración que buscamos en el datashet, antes mostrada, se debe tener en cuenta que solo se usara el color azul y integrado tambien debe seguir la configuracion mostrada anteriormente:



3- Cuando hallamos terminado de cablear teniendo en cuanta la configuracion antes mostrada procedemos a conectar el arduino:


3- Para mostrar el cualquier mensaje en la matrix RGB 8x8 debemos escribirlo en la siguiente ubicacion  del codigo del arduino para el caso "Laboratorio 12 Arduino":
 
 

 Vídeo del Funcionamiento


Código Arduino

4 comentarios:

  1. sketch_oct21d:8: error: variable or field 'scrollMessage' declared void
    sketch_oct21d:8: error: 'prog_uchar' was not declared in this scope
    sketch_oct21d:8: error: 'messageString' was not declared in this scope
    sketch_oct21d:15: error: 'prog_uchar' does not name a type
    sketch_oct21d.ino: In function 'void loop()':
    sketch_oct21d:27: error: 'scrollText' was not declared in this scope
    sketch_oct21d:27: error: 'scrollMessage' was not declared in this scope
    sketch_oct21d.ino: At global scope:
    sketch_oct21d:33: error: 'prog_uchar' does not name a type
    sketch_oct21d:907: error: variable or field 'scrollMessage' declared void
    sketch_oct21d:907: error: 'prog_uchar' was not declared in this scope
    sketch_oct21d:907: error: 'messageString' was not declared in this scope
    Multiple libraries were found for "LedControl.h"

    variable or field 'scrollMessage' declared void

    This report would have more information with
    "Show verbose output during compilation"
    activala desde Archivo > Preferencias

    ResponderEliminar
  2. Esta biblioteca se puede hacer para trabajar añadiendo su propio código en la parte superior, pero hay que escribir toda la pantalla desplazando a sí mismo - se ha hecho !. Uno de los problemas que tuve con ese código es que utiliza el tipo obsoleta (donde prog_uchar ya no se utiliza en el nuevo compilador de Arduino):

    prog_uchar
    Para evitar esto añada lo siguiente a la parte superior del código:

    #define prog_uchar const char

    ResponderEliminar