Matriz de LED 8X8

Mario Sacco . Vista 126568 veces

Una de las búsquedas en la Web que siempre nos entrega 50 mil páginas dedicadas al tema es la que nos enseña a construir una sencilla matriz de LEDs de al menos 8 LEDs por otros 8 LEDs (ancho por alto). Uno se pregunta a veces cómo puede ser posible que habiendo tanta información al respecto la gente siga consultando cada día sobre cómo realizar este tipo de carteles. En función de esta inobjetable “necesidad” de realizar y comprender la manera en que se hacen estos sencillos letreros luminosos, te presentamos una nueva visión y perspectiva de cómo llegar a lograr la construcción de un pequeño y útil pasa-mensajes (Scroll-Text), sin abandonar en el intento.


  • Antes de comenzar cualquier intento de construcción, debemos tener en claro cuáles son las posibilidades ciertas que tendremos de materializar y finalizar con éxito un proyecto. Por ejemplo, nuestro proyecto de vida puede ser algún día realizarnos profesionalmente como instructores de surf en cualquier playa paradisíaca de Hawaii. Entre los elementos indispensables debemos contar con: vivir en Hawaii, tener una contextura física ágil, liviana, y atlética, hablar al menos unas pocas palabras en el idioma local, tener un peinado donde prevalezcan las rastas y, por supuesto, tener al menos una tabla de surf (propia, si es posible).

    Para construir una matriz de LEDs sucede algo muy similar. Si no logramos juntar todos los elementos mínimos e indispensables, es inútil abrir un post en cada foro de electrónica que encontremos o enviarle un correo a cada persona que ha construido una, esperando que alguno nos ofrezca soluciones milagrosas y mágicas. Debemos obtener primero los materiales. Todos los materiales. ¿Por qué hacemos hincapié en esto? Porque para muchos que anhelan tener un letrero funcional, se les disparan las ambiciones al saber la cantidad de LEDs que deben comprar y el inevitable costo que ello supone. Además, la complejidad del circuito y las eternas dudas que siempre existen acerca de cómo se debe organizar un programa dentro del microcontrolador hacen naufragar hasta al más valiente.

    Vista trasera de nuestro desarrollo. ¿Te anotas? Vista trasera de nuestro desarrollo. ¿Te anotas?

    En este artículo intentaremos echar un poco de luz sobre el tema (un poco más de la que ya hay) y te propondremos un circuito sencillo, ampliable y, como siempre, didáctico. Por todo esto, lo primero que debemos tener en claro es que sólo vamos a construir una matriz de 8 X 8 LEDs y que luego vendrán las enormes marquesinas al mejor estilo Las Vegas. Pero comenzaremos por lo más básico. En este ámbito inicial y de planteamientos sobre cómo deseamos ver materializado el proyecto final, una de las decisiones iniciales será la opción entre una matriz comprada hecha y lista para usar o si la construiremos nosotros mismos con LEDs individuales. Las imágenes pueden ilustrarnos las diferencias muy claras y conocidas entre una y otra.

    • Matriz 8 X 8 compacta e integrada Matriz 8 X 8 compacta e integrada
    • Matriz de construcción artesanal con LEDs individuales Matriz de construcción artesanal con LEDs individuales

    En lo que refiere al funcionamiento, ambos sistemas podrán desempeñarse de manera aceptable y con un resultado acorde a la programación del microcontrolador que se utilice para activarlos. En cambio, desde el punto de vista constructivo, las diferencias son notables y lo que se torna favorable en algunos casos puede ser perjudicial en otros. Por ejemplo: el diseño compacto, la facilidad de conexión y el rendimiento deseado son factores que inclinan la balanza hacia el módulo integrado de 64 LEDs que aparece en la imagen izquierda. Sin embargo, cuando necesitamos un tamaño no convencional o fuera de los estándares de fabricación, la construcción a partir de LEDs individuales pasa a ser una necesidad. Además, el menor costo es otro de los factores que inciden en la elección. Y sea cual sea dicha elección, lo que debemos hacer es saber a ciencia cierta cómo se trabaja con estas pequeñas pantallas transmisoras de información. Es decir, debemos saber de antemano qué estamos buscando.

    Organización de la matriz por filas y columnas Organización de la matriz por filas y columnas

    Mostrando una imagen.
    Para visualizar un caracter, mostrar un pequeño dibujo u ofrecer cualquier símbolo en la pantalla, debemos desmenuzar el análisis de funcionamiento y, de esa manera, comprenderemos el concepto esencial que rige la mecánica de estos displays gráficos. Tomando como ejemplo una letra, la letra “R”, debemos armar inicialmente un “mapa” dentro de la matriz de cómo queremos que se vea o grafique lo que estamos queriendo mostrar. Es decir, debe existir un trabajo previo, un trabajo duro y a veces tedioso (pero necesario) para lograr llevar a la pantalla la imagen deseada. Todas las letras del alfabeto, todos los números y símbolos a mostrar deben planificarse (“mapearse”) previamente para que al llegar el momento de la programación del microcontrolador, sólo sean necesarios un par de simples movimientos y formar así el gráfico que deseamos presentar.

    Nombres da las variables que utilizaremos en la programación y el modo en que actuarán en la matriz Nombres da las variables que utilizaremos en la programación y el modo en que actuarán en la matriz

    Tal como se puede apreciar en el gráfico siguiente, la letra “R” será la representación de la cadena de valores 0, 0, 127, 76, 72, 74, 49 y 0. Estos valores serán enviados a la matriz mediante las “filas” (8 bits), colocando cada valor en la “columna” correspondiente. Repitiendo el proceso de colocar cada fila en su respectiva columna muchas veces por segundo, tendremos la impresión de estar observando una imagen estática y fija, siendo que en realidad los datos ingresan por las filas, se visualizan en la columna correcta y se apagan. Luego ingresan otros datos en un nuevo ciclo del programa, se visualizan en la columna correcta y se apagan. El ciclo se repite una y otra vez hasta completar el símbolo deseado, como dijimos antes, muchas veces en un segundo, lo que nos dará la sensación visual de que permanece siempre fijo allí.

    Valores que se cargarán en las "filas" y correrán a través de las columnas hasta ubicarse en el lugar correcto Valores que se cargarán en las "filas" y correrán a través de las columnas hasta ubicarse en el lugar correcto

    Concepto fundamental.
    La imagen se forma por el “barrido” de las columnas a las que se les hacen llegar en el momento apropiado los datos que queremos visualizar. Estos datos llegan de a uno por vez y se colocan en el lugar que le corresponde a cada uno dentro del mapa de bits creado en forma previa. Al repetir el ciclo muchas veces en un segundo, la imagen dará la impresión de estar fija. Para que este efecto se logre con mejor resultado, interviene la inercia de encendido y apagado del LED, sumado a la velocidad de nuestra visión en detectar los mencionados cambios de estado.

    Del dicho al hecho.
    Como vimos, iniciaremos el trabajo partiendo de una matriz que sea capaz de representar visualmente los símbolos que deseamos mostrar. En nuestro caso, hemos construido una matriz de 8 LEDs por lado. Pero si lo deseas, puedes reducir el tamaño a 7 LEDs de alto por 5 de ancho y seguirás visualizando sin problemas caracteres del alfabeto, números, símbolos de puntuación y cualquier gráfico elemental que sea capaz de verse en esa mínima resolución.

    Vista frontal de nuestro panel de LEDs Vista frontal de nuestro panel de LEDs

    La conexión de los 64 LEDs que componen la matriz es una de las partes más tediosas del montaje. Debes armarte de mucha paciencia y calma, ya que trabajar bajo presión o con los tiempos muy acotados te pueden llevar a un error involuntario que signifique desarmar todo y volver a empezar. Por lo tanto, nuestra recomendación es que admitas en tu mente la necesidad de quemar toda una jornada de trabajo en el armado de la matriz para luego no estar buscando posibles fallas que serán muy difíciles de encontrar.

    La etapa más tediosa: soldar los 64 LEDs formando las filas y columnas La etapa más tediosa: soldar los 64 LEDs formando las filas y columnas

    Las conexiones son muchas y las posibilidades de error se multiplican, por lo que será necesario poner lo mejor de nuestra paciencia en esta parte del desarrollo. La situación puede simplificarse si construimos un circuito impreso de doble faz y diseñado en forma específica para esta aplicación. Pero los costos de una buena placa doble faz con agujeros metalizados (conducción de un lado a otro de la placa), el tiempo que se pueda demorar en el diseño de la mencionada PCB, sumado al tiempo que podemos demorar utilizando una placa experimental, pueden acumular escollos que por lo general se resuelven de manera práctica utilizando las placas impresas experimentales, como vemos en la fotografía superior. Visto el diagrama esquemático de conexiones de los LEDs, quedaría de la forma que te mostramos en el siguiente gráfico:

    Conexiones que forman una matriz con sus filas y columnas Conexiones que forman una matriz con sus filas y columnas

    El correcto armado de la matriz es el punto clave en la construcción de un cartel de LEDs. Si te equivocas en la conexión o posición de alguno de los LEDs, puedes pasar horas hasta descubrir el origen de la falla. Por esto, además de la atención que te recomendamos en el armado, es muy saludable que una vez concluido el montaje compruebes con un multímetro de aguja el correcto funcionamiento de todos y cada uno de los 64 LEDs que componen la matriz. Obviar este paso puede significar más adelante un dolor de cabeza al no saber con certeza si la falla estará en la matriz de conexiones o en los circuitos de activación de los LEDs. Por lo tanto, la recomendación es esta: ir por pasos y controlar muy bien todo lo que se está realizando. Una corrección a tiempo puede significar el ahorro de horas de estancamiento en el trabajo.

    Una sencilla cubierta protectora mejora la visibilidad final Una sencilla cubierta protectora mejora la visibilidad final

    Si utilizas una matriz comprada y armada, solamente reducirás tu trabajo a determinar el “pinout” de la misma (donde está cada conexión de cada LED) y colocarle o no al frente del montaje una cubierta protectora para que no se vean los espacios entre LEDs y para que aparezca como un frente ciego que sólo se iluminará al momento de funcionar. En nuestro caso, por utilizar dispositivos del tipo “water clear”, necesitamos colocarle un plástico en su parte frontal para aplacar un poco el reflejo de la luz ambiente en el cuerpo plástico de cada LED. Además, este método de colocar un material semi-translúcido delante de los LEDs nos permitirá trabajar con tasas de refresco (los tiempos de encendido/apagado de los LEDs) más lentas y eso traerá consigo un mayor brillo final obtenido con una mejor apreciación del mensaje.

    Paso a paso, conectando cada LED.
    Para la realización de este diseño, utilizaremos un PIC 16F876A del que dispondremos de los puertos B y C para activar las filas y columnas de la matriz, respectivamente. Podríamos haber utilizado el clásico registro de desplazamiento que utiliza la mayoría para emplear así un PIC más pequeño y a través de él/ellos movilizar las columnas. Pero quisimos hacer un montaje diferente para que puedas ver otra opción y evaluar la más conveniente a tus necesidades. Además, el hecho de utilizar otro tipo de circuito te permitirá ver desde otro ángulo el funcionamiento de estos desarrollos. Y quizás de este modo puedas comprender mejor su funcionamiento.

    Insisto, si no fuese así, cualquiera sabría hacer una matriz. Y la realidad de la Web indica que hay más intrigas y preguntas que demostraciones de funcionamiento exitoso. Por ejemplo: en YouTube, la búsqueda de la frase “Matriz 8X8” arroja menos de 350 resultados, mientras que en Google este valor asciende a más de 20 mil. O sea, hay muy poca gente que muestra resultados y hay una inmensa cantidad que tiene más preguntas que respuestas. Por supuesto que los 20 mil resultados no corresponden a preguntas, pero siendo muy generoso, 1 mil de ellos sí lo son.

    Circuito simplificado de excitación de un LED dentro de la matriz Circuito simplificado de excitación de un LED dentro de la matriz

    El gráfico superior te muestra de manera simplificada la conexión de uno de los 64 LEDs que componen la matriz. Es un ejemplo genérico de selección de una de las 8 filas y una de las 8 columnas. Cualquier combinación de esta naturaleza energizará un único LED. Esta imagen te demuestra que debemos colocar un pin en estado BAJO en el Puerto B y otro en estado ALTO en el Puerto C para que los transistores conectados a ellos se activen y logren encender el LED seleccionado. El resultado final será un circuito compuesto por el PIC 16F876A (también puedes utilizar un 16F873A), trabajando con un cristal de 12Mhz, un driver ULN2803A, algunas resistencias y un circuito de alimentación que te permite trabajar con batería o con entrada de tensión externa.

    Circuito propuesto para nuestra matriz (clic para ampliar) Circuito propuesto para nuestra matriz (clic para ampliar)

    La inclusión y posición de los diodos 1N4007 en el circuito sirve para proteger la unidad ante accidentales inversiones de polaridad que puedan dañar el PIC. Por otro lado, la variación en el valor de las resistencias de 220 Ohms significará una alteración en el brillo obtenido en el cartel. Es decir, podemos colocar hasta resistencias de 56 Ohms en esos lugares sin provocar problemas funcionales. Pero debemos estar atentos a que el consumo de corriente subirá de manera considerable y esto es un problema cuando trabajamos con desarrollos pequeños alimentados a batería. En nuestro caso, que pensamos utilizar el “juguete” en interiores, no será necesaria tanta intensidad luminosa. Pero si tú en cambio deseas utilizar la matriz en espacios abiertos, la luz de un día de sol puede molestar la adecuada visión. En estos casos, bajar el valor de las resistencias y ensayar otras velocidades de refresco te servirán para adecuar el brillo de la matriz a tus necesidades.



    En la próxima entrega, comenzaremos a desarrollar el programa dentro del PIC y a analizar cómo podemos lograr una buena imagen estática para utilizar la matriz como indicador luminoso tipo baliza de emergencia y también veremos cómo lograr textos con desplazamientos para poder emplearlo como cartel pasa-mensajes. Además, veremos la posibilidad de programar efectos visuales, por ejemplo, que el texto se “caiga” o se desplace hacia arriba. Vale aclarar en este punto lo que mencionamos al principio: no estamos inventando la rueda, ni develando el misterio de las matrices de LEDs, sino que estamos mostrando otro modo de construirlas. Puede ser mejor o puede ser peor, pero lo importante siempre será que a ti te sea útil para comprender mejor la teoría y tener más alternativas prácticas de desarrollo. No te pierdas la segunda entrega de esta construcción donde pondremos al alcance de tu mano un cartel muy particular y vistoso para adornar el ambiente festivo a la espera del año que se avecina. ¡No te lo pierdas!



¿Y tú, qué opinas?

  • #1 Uribe Paraco Genocida
    Uribe Paraco Genocida sábado, 19 de diciembre de 2009, 22:20

    Alvaro Uribe Paraco Asesino says :

    ke reguero de cables my guey

    Responder >> Attention Minus Plus Votos: -8 de 10
  • #2 incabor
    incabor sábado, 19 de diciembre de 2009, 23:37

    bien ...yo estoy armando una pero con un avr atmega16 en asembler y la verdad que he aprendido mucho acerca de programamcion

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #3 MGR
    MGR sábado, 19 de diciembre de 2009, 23:59

    Hola, como están?
    En la imagen de la "R" roja donde se muestran las suma de cada columna, los nùmeros 76 y 72 deberían estar en el orden inverso.
    Gracias Mario por este y por cada artículo! Muy buenos todos.

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #4 <a href="../../foro/member.php?u=8" target="_self">Mario</a>
    Mario domingo, 20 de diciembre de 2009, 00:19

    #3Gracias por la atención MGR !

    Corregido el error. Felicidades amigo ! :))

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #5 overkomp
    overkomp domingo, 20 de diciembre de 2009, 01:09

    Hola el numero 76 tiene un error es el 4+8+64
    Esto me hace acordar cuando programaba en Spectrum y creaba caracteres en modo G.

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #6 comrade k
    comrade k domingo, 20 de diciembre de 2009, 03:11

    Lamentablemente nos e nada de pics

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #7 <a href="../../foro/member.php?u=23871" target="_self">pm001</a>
    pm001 domingo, 20 de diciembre de 2009, 11:41

    Muchas gracias por toda la información en tus artículos, aunque no se casi nada de electrónica me he llegado a apasionar con cada articulo, así que si no es mucha molestia me gustaría y me recomendaras algún sitio donde me enseñen de este tema desde cero, y si de antemano te pido una disculpa por ser el TROLL que viene a pedir cosas sin buscarse la vida en el Google, pero me gustaría aprender de donde tu lo haz hecho.

    De nuevo gracias por la información.

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #8 Anonimum
    Anonimum domingo, 20 de diciembre de 2009, 14:50

    son grandisimos todos tus articulos...no se si alguna vez os habreis planteado el publicarlos todos en un ebook o similar

    un saludo

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #9 Dows
    Dows domingo, 20 de diciembre de 2009, 15:10

    Opino lo mismo, para quitarse el sombrero. Hacen que la electronica parezca una cosa facil :)

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #10 <a href="../../foro/member.php?u=18623" target="_self">LucasVega</a>
    LucasVega domingo, 20 de diciembre de 2009, 16:09

    Hola Mario:

    El manejo de avisos luminosos y de leds, es siempre algo que nos va ha gustar mucho, ya que es algo muy facil de persivir y que le gusta a muchas personas, y bueno lo que dices es muy cierto, encontramos muchas dudas a la hora de hacer el manejo de este tipo de matrices de leds y siempre probar alternativas diferentes es bastante bueno.
    Bueno asi que manos a la obra para empezar ha hacer la matriz, para seguir despues con el software.

    Un gran articulo y esperando con muchas ansias el proximo.

    Un saludo desde Colombia.

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #11 AB
    AB domingo, 20 de diciembre de 2009, 16:15

    Muchas gracias :D

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #12 <a href="../../foro/member.php?u=23130" target="_self">PABLO1390</a>
    PABLO1390 domingo, 20 de diciembre de 2009, 17:48

    excelente!!! no puedo esperar por la siguiente entrega!!! estará detallada la lista completa de los materiales a comprar?
    saludos y felicitaciones!

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #13 <a href="../../foro/member.php?u=8" target="_self">Mario</a>
    Mario domingo, 20 de diciembre de 2009, 18:17

    #1Es verdad.

    Hay que prestar mucha atención al conectar los LEDs.
    Pero recuerda que puedes utilizar los módulos comprados !

    Felicidades amigo !

    Responder >> Attention Minus Plus Votos: 1 de 1
  • #14 <a href="../../foro/member.php?u=8" target="_self">Mario</a>
    Mario domingo, 20 de diciembre de 2009, 18:20

    #2Muy bueno incabor !

    Sería lindo que cuando la hagas funcionar, nos acerques un pequeño video demostrativo y algunas líneas explicativas. Con gusto las agregaríamos al artículo para aquellos que quieran utilizar Atmel.

    Saludos cordiales y Felicidades !

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #15 <a href="../../foro/member.php?u=8" target="_self">Mario</a>
    Mario domingo, 20 de diciembre de 2009, 18:25

    #5Hola overkomp !

    Así comencé también yo con el viejo CALLCHAR del BASIC que utilizaba la Texas TI99/4A ...
    De la Spectrum y la TI99 han pasado apenas ... ¿25 años?
    Que viejo eres amigo ! Jaja !!!

    Saludos cordiales y Felicidades !

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #16 <a href="../../foro/member.php?u=8" target="_self">Mario</a>
    Mario domingo, 20 de diciembre de 2009, 18:28

    #6Nunca es tarde para empezar comrade k !

    Cuando los microcontroladores comenzaron a fabricarse yo ya tenía más de 35 años ... (es decir, ya había dejado de ser joven)
    Todos alguna vez comenzamos sin saber nada.

    Ánimo ! Yo pude, tú puedes.

    Saludos y Felicidades !

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #17 <a href="../../foro/member.php?u=8" target="_self">Mario</a>
    Mario domingo, 20 de diciembre de 2009, 18:36

    Hola llMakakoll

    Ojalá todos los TROLLS fueran tan amables como tú !
    Te cuento, Yo soy una persona mayor y vengo de la época de las válvulas termoiónicas (los viejos TV a "lámparas, bulbos o bujías" que se le llamaban, así que imagínate que no puedo recomendarte estudiar donde lo hice yo !!! :))

    De todos modos, en la web hay muchos lugares para empezar desde cero en Electrónica. T por supuesto muchos foros de ayuda. El mejor que te puedo recomendar es www.ucontrol.com.ar, donde encontrarás mucho material para quién recién se inicia. Tal vez hasta me encuentres a mí y a Ariel ! :))

    Éxitos amigo y te deseo lo mejor !

    Saludos cordiales y Felicida...
    Leer más

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #18 <a href="../../foro/member.php?u=8" target="_self">Mario</a>
    Mario domingo, 20 de diciembre de 2009, 18:40

    #8Hola amigo !

    Nunca se me ha ocurrido una cosa así porque nunca tuve los recursos económicos para hacerlo. (Se necesita un tiempo físico disponible que no tengo, porque necesito trabajar para subsistir)
    Una sola vez me ofrecieron participar de una enciclopedia pero quedó en eso nada más: en un ofrecimiento.
    Quizás algún día lo pueda lograr !

    Saludos y Felicidades !

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #19 <a href="../../foro/member.php?u=8" target="_self">Mario</a>
    Mario domingo, 20 de diciembre de 2009, 18:43

    #9Gracias por tus palabras Dows ! :)

    Esa es la idea ! Quitar los miedos y ayudar a los que están al borde ... que se tiren al precipicio :))
    Ayudar a demostrar que en la vida no todo es formulerío matemático. Que la práctica también es interesante.
    Siempre sostuve que si algo te gusta, luego de los primero logros, tú solito te largas a estudiar cada día más.

    Saludos amigo, gracias por estar siempre con nosotros !
    Felicidades !

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #20 <a href="../../foro/member.php?u=8" target="_self">Mario</a>
    Mario domingo, 20 de diciembre de 2009, 18:48

    #10Hola Yesbond !
    Cuánta popularidad estás teniendo en los Artículos Recomendados de la Semana ! :))
    Felicitaciones !

    Eres la muestra cabal que con esfuerzo todo se logra.
    Respecto a este artículo es la impresión que siempre tuve. Algo que "parece" tan sencillo no puede tener tantas incógnitas. Por eso vamos a sumar más confusión al tema ... jaja !

    No ! Vamos a tratar de ver el asunto desde otra óptica y luego la gente decidirá cuál es el método más facil. El que mejor se entiende.

    El objetivo es ayudar y en ese camino vamos.

    Un abrazo amigo ! Nos leemos ! ;)
    Felicidades !

    Responder >> Attention Minus Plus Votos: 0 de 0
  • « «« Anterior1234Siguiente »» »
    Cargando...Cargando...

  • nuevo comentario
    Nombre

    Campo obligatorio

    Email

    Escriba una dirección de correo electrónico con el formato sunombre@ejemplo.com.

    Campo obligatorio

 
Ir arriba