Proyecto: PANTALLA DE LEDS.Mensajes en Matriz de Leds.

Tal como dice el titulo, en esta oportunidad se presenta un proyecto muy interesante y vistoso: una pantalla formada por 256 leds, en una matriz de 8 filas y 32 columnas, en la cual se desplegaran mensajes alfanumericos.

El proyecto esta formado por tres bloques funcionales bien definidos: el microcontrolador—>registro de dezplazamiento/buffer—>matriz de leds.

El microcontrolador estara a cargo de ……

controlar el encendido de las columas por medio de tres lineas, las cuales atraves del regisitro de dezplazamiento es capaz de manejar el encendido de las 32 columnas de la matriz, ademas el uC controlara el envio de datos a las filas de la matrix. En este proyecto se usara el microcontrolador ATMEGA328, pudiendose utilizar cualquiera de la serie ATMEGAx8.

El registro de desplazamiento, como se menciono, es el encargado de realizar el corriemiento delencendido de las columnas de la matriz, a partir de solo tres lineas de datos del uC, ademas este debe ser capaz de brindar la corriente necesaria para el encendido de los leds sin sobrecargar las salidas del uC. En este proyecto se utilizan los IC de texas instruments: TPIC6B595 en encapsulado DIP, que contienen un regsitro de dezplazamiento y a la vez un buffer de corriente, cada chip puede manejar 8 columnas de leds, es por eso q se usan 4 de estos.

Las matrices de leds que se usan son de 64 leds, dispuestos en 8 filas y 8 columnas, se usa el tipo D1088BRG, la conexion interna es matricial, es decir los leds estan conectados entre una fila y unba columna, y se dispone en las terminales extenes de la matriz de la uniones comunes.

Los componentes utilizados son:

  • 1. microcontrolador ATMEGAx8
  • 4. circuito integrado TPIC6B595
  • 4.matrix de led D1088BRG
  • 1.capacitor 0.1uF
  • 1.resistor 10k/0.25w

El circuito a utilizar se muestra a continuacion:


Descargar circuito: matrix_3208_tpic_wordpress

El firmware a utilizar es un poco complicado ya que el micro debe sincronizar el envio de la informacion a las filas con el encendido de la respectiva columna, pero esto se reduce un poco con el uso de los shit register, la forma para formar el mensaje en la pantalla es basicamente igual a como se forman las imagenes en una TV es decir se debe ir encendiendo columna por columna, he ir encendiendo los leds correspondiente de esa columna que forman el mensaje.

El truco esta en ‘transformar’ o ‘desarmar’ las letras del mensaje en su correspondiente equivalente en pixeles, la pantalla tiene un total de 256 pixeles, distribuidos en 8 filas y 32 colunmas. Para saber que leds se encienden y que leds se apagan para cada columna del mensaje se debe hacer un analisis y formar las letras en esta cuadricula. luego cada columna formara un byte de informacion, estos bytes formaran el mensaje a mostrar, estos se guardan en la memoria del micro como una tabla de valores binarios.

El listado del programa en basic de BASCOM-AVR se puede descargar del enlace siguiente: http://www.box.com/s/93zagciza8yaf422utik

Este programa despliega un mensaje tipo marquesina: HOLA UTEC ’11 , el mensaje se pueden personalizar y se pueden agregar mas en el mismo programa, simplemente se debe de llamr a la subrutina y cambiar el nombre de la tabla de datos.

Dudas.Comentarios.Diseño.Componentes

otoniel.flores@mail.utec.edu.sv

28 comentarios

  1. Exclente ingeniero otoniel empezaré a estudiar el programa para poder comprender su uncionamiento q creo q aldran muchisimas dudas… esta super bien el proyecto….

  2. exelente proyecto ing. ottoniel esta muy interesante intentare hacerlo es un exelente reto para mi lo intentare hacerlo q tenga una feliz tarde…

  3. Muy buen trabajo.
    Una duda tu puedes agregar mas dispositvos iguales(la matriz de leds y TPIC6B595) sin que varies el programa, con solo agregar mas de estos, de esta forma la pantalla, vas a poder visualizar normal tu letrero electronico?

    • Gracias por tus comentarios.

      MIra, en pruebas experimentales con estos mismos componentes se ha llegado a colocar hasta 6 matrices y 6 tpic.
      y todo bien.
      En teoria la hoja tecnica del tpic, no limita el numero de circuitos en cascada.

      Te animo a crear tu proyecto con 80 col. y si puedes enviar fotos, con gusto las publicamos.

      Saludos.

  4. Es que yo quiero empezar a hacer un panel de 8 filas x 80 columnas. quiero estudiar como hacer el desplazamiento: por columnas o por filas!!!

  5. Quisiera saber si se podría hacer lo mismo, pero en lugar de grabar con cable serial al micro ATMEGA328, utilizar algún modulo bluetooth (ejemplo: DIP rn-41) que grabe directo al micro y despliegue el mensaje.

    • HOla. gracias por tu pregunta.

      Claro, se le puede adaptar el modulo que mencionas (http://www.sparkfun.com/products/8550) para actualizar el mensaje a desplegar, no debe de generar mayor complicacion que el uso del puerto serie del micro, que es a este puerto donde se conectara el modulo.
      Luego el protocolo de entendiemiento se debe especificar tanto en el micro ocn el el PC que enviara la info del mensaje.
      Como avance , porel momento se esta trabajando en la actualizcion del proyecto, al incluirle un conector PS2 o USB para conectar un teclado qwerty para escribir directamente el mensaje.

      Cualquier duda no dudes en consultar. y me gustaria escuchar de tu proyecto.
      Saludos.

      • Que tal, muchas gracias por la ayuda, tengo una pregunta!, bueno conseguí este modulo Bluetooth, http://iteadstudio.com/Downloadfile//BluetoothHC05.pdf, y mi pregunta es como escribir el programa en el ATMEGA328 a través de este modulo bluetooth,
        (PC -> Bluetooth -> Atmega328).. que programa necesitaría para hacerlo?? o alguna sugerencia. Muchas gracias de antemano!..

  6. Una pregunta, no encuentro el circuito integrado TPIC6B595, quisiera saber si me podrías recomendar otro que haga lo mismo o no se, no lo encuentro por ningún lado..

    • Hola, gracias por tu comentario.

      El TPIC es un Registro de desplazamiento + buffer de corriente. Se puede remplazar por dos ICs, el 74ls595 + ULN2803.De un remplazo directo , no tengo conocimiento.
      Lo puedes comprar en Ebay, Sparkfun o Mouser.

      Saludos.

      • Perfecto ya los compre, pero ahora tengo un pequeño problema no se como conectarlos, no se si me puedas ayudar un poco..

        Gracias.

  7. Hola.

    Pues simplemente debes de seguir el diagrama que se presenta en el post.
    http://microcontroladores2utec.files.wordpress.com/2011/03/matrix_3208_tpic_wordpress1.pdf
    Allí indica como conectarlos.

    Saludos.

  8. Esta muy bueno el proyecto Ingeniero otoniel, yo estoy haciendo algo similar pero con Atmega16 y 74HC595 la matriz es de 24X13 obviamente me toco hacerla por el tamaño la programo con Avr studio en lenguaje C , es para mi proyecto de grado como tecnólogo en electrónica y me parece interesante lo de este integrado TPIC6B595, voy a investigar si lo puedo implementar en mi proyecto.

    No se si me pueda orientar con las siguientes dudas:

    El funcionamiento del registro de desplazamiento es igual al del 74595 o como funciona?
    Otra duda que tengo es que si puedo conectar varias Matrix de 24X13 (3) a las salida de los TPIC6B595 esto es porque debo mostrar 3 dígitos Iguales pero a una distancia de aproximadamente 10 metros, gracias por la atención prestada, mi correo es ferneyarg@hotmail.com

    • Hola Ferney.
      Gracias por el comentario.

      Me parece interessante tu proyecto.

      Si, el TPIC funciona igual que el 74595, si miras detenidamente las datasheets veras que son practicamente iguales con la diferencia que el TPIC incorpora buffer de corriente a cada salida, lo cual es buenísimo para manejar el correcto brillo de todos los leds de cada columna, obviamente la disposicion de pines no es igual, debes verificarla.

      Con respescto a conectar “varias” matrices, a que te refieres exacatamente,
      las tres dependiendo del mismo TPIC? …. pues no lo recomiendo, ya que cada TPIC, puede brindar hasta 350mA en total, esto implica que si conectas mas leds a una salida (las tres columnas, una de cada matrix) no brillaran con la misma intensidad que s fuera una sola.

      Adelante con tu proyecto.
      Espero ayudarte en lo que pueda.
      Saludos.

      • Gacias por responder tan rapido mi mensaje Ingeniero otoniel, me despeja algo mis dudas, me gustaria comunicame con ud directamente y mostrarle mi proyecto gracias por la atención y un saludo desde Armenia, Quindio, Colombia.

        mi correo es ferneyarg@hotmail.com

  9. Hola, tengo una duda, al dar click en “program chip (f4)” de BASCOM AVR , me da un error de “Couldn’t identify chip with ID:000000″ y “Selected Chip and target do not match AT90S2313 ATmega48″ ,
    agradecería mucho tu ayuda ya intente cambiando la opción en
    Options/Compiler/Chip/ “m48def.dat” y nada, nose que mas hacer

    • HOla, y gracias por tu comentario.

      Pues me suena que son dos errores independientes.

      1- “Couldn’t identify chip with ID:000000″ , es un error de conexion entre tu micro y el p`rogramador que estas usando, revisa bien las conecciones, que le micro este alimentado con 5Vdc, que no hayan cortos en el programador.y que el puerto del pc este bien.

      2- “Selected Chip and target do not match AT90S2313 ATmega48″ , es un error de identidicacion del chip, esto indica que tu programador esta funcionando bien, el problema esta en que el chip que dijiste en el programa (select chip) ($regfile) , no es el imso que tienes fisicamente (target), el error dice que tienes un AT48 pero hiciste el programa para un AT90s……Intenta colocar la siguiente linea de codigo al inicio del programa ($regfile = “m48def.dat”

      Saludos.

      • Muchas gracias por la pronta respuesta!,

        Tengo el programa que dejaste igual, y siguen los 2 errores, que pasara si cambio el programmer??

      • HOla.

        No debe haber proglema si cambias de programador, el programa es independiente de esta variable.

  10. Una pregunta amigo, tengo un cable USB a Serial, me podrías ayudar para saber que pin’s van conectados a que patitas del micro?, y aparte, si solo uso 3 pantallas de led de 8×8 que modificación al programa tendría que hacer??,me imagino que cambiar la parte de columnas de 32 a 24, alguna otra cosa mas?? Gracias..

  11. podrias pasarte el archivo hex por favor

  12. hola… me parece un exelente articulo
    lo malo es que no encuentro el link para bajar el programa

  13. hola esta muy interesante megustaria apreder del sitema felicidades

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.