
¿Listo para descubrir la magia oculta detrás de la construcción de matrices de LEDs? Sumérgete en un mundo de circuitos sorprendentes, imágenes reveladoras y consejos imprescindibles que te llevarán a dominar desde lo más básico hasta los secretos mejor guardados de este fascinante proyecto…
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.

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.


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 incian 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 qué estamos buscando.

Mostrando una imagen. Para visualizar un carácter, 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 deseamos 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.

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í.

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 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 cambios de estado.

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 itas 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.

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:

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.

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 ilumine 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.

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.

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!
bien ...yo estoy armando una pero con un avr atmega16 en asembler y la verdad que he aprendido mucho acerca de programamcion
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.
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.
Lamentablemente nos e nada de pics
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.
son grandisimos todos tus articulos...no se si alguna vez os habreis planteado el publicarlos todos en un ebook o similar
un saludo
Opino lo mismo, para quitarse el sombrero. Hacen que la electronica parezca una cosa facil :)
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.
Muchas gracias :D
excelente!!! no puedo esperar por la siguiente entrega!!! estará detallada la lista completa de los materiales a comprar?
saludos y felicitaciones!
podriamos utilizar tambien una fotocélula para controlar la intensidad de los led's no¿?
Muy bueno Mario, desde hace ya unos cuantos meses que vengo juntando info para hacer algo de microcontroladores, creo que voy a empezar a bajar a la realidad con esta matriz. Una pregunta, cual es la ventaja entre hacerlo asi o hacerlo todo con registros de desplazamiento, como para que con una sola salida serial del micro poder hacer todo? Y de paso meto otra, cual es el limite al que podemos llegar antes de que comience a notarse el refrezco visualmente? Porque yo lo pienso hacer basando en un arduino que ya tengo, anda a 20 Mhz, contra los 12 de este pic, aunque no los aprovecha tan bien como el porque no esta programado en assembler, por lo que calculo que andarian parejos.
Espero que se entiendan las preguntas! Saludos!!
PD: Mañana compro los leds!
Simplemente genial Mario¡¡¡.....aqui seguimos al pendiente de tus articulos, felicidades en estos dias muchisimos exitos y abrazos para todo el equipo de neo-teo, mis deseos desde Mexico.
Gracias, muy buen trabajo, tambien espero proximas entregas.
Muy buena artículo Mario.
Saludos.
Jukinch.
Hola, muchisimas gracias por el articulo, esta pagina esta increible!!!, tambien ucontrol, en general todos los articulos son muy profesionales, felicidades, tengo una duda, el integrado con los darlintog UL2803A para que son?
Me interesa mucho, agadesco desde ya su sabiduria
ola me interesa mucho este tema pero estoy buscando el otro articilo pero no lo veo por tu info gracais
saludos a todos primero q nada gacias por tan buen aporte es exelente, una pregunta por q utilizar pics si los microcontroladores de la familia hc908 son muy buenos y se programan en c, ademas cuentan con reloj interno?????????????????????? no es critica solo es una pregunta q megustaria fueran tan amables de responder gracias
si en eso esta en lo correcto la mayoria de las personas utilizan pics son gustos de cada quien yo intentare hacerla utilizando un hc908 me siento mas comoco con estos micros gracias nuevamente por tan exelente aporte despues te digo como jalo cuidate q estes bien
hey que power esta la matris me podes pasar el el codigo que diseñaste :) me ayudarias mucho para comprar uno que diceñe y sus fallas :9 espero tu respuesta
Muchas gracias por compartir tu conocimiento Mario. Te comento que estoy siguiendo las instrucciones y casi ya termino de armar "todo". Sin embargo tengo un par de dudas, ahí te van:
¿Utilizas el pin 10 del driver ULN2803?
¿Los pines 8, 19 y 20 del PIC16F876A son respectivamente VSS(tierra "lógica"), VSS(tierra "lógica") y VDD(tensión de referencia "lógica") ?
Como verás, es mi primer proyecto empleando microcontroladores y por eso tengo un montón de dudas, algunas quizas absurdas pero dudas de un principiante al fin.
Por otro lado, ¿puedo utilizar el programador JDM, también descrito en uno de los articulos de NeoTeo, para programar este PIC con los pines del ICSP?
Una vez más, agradecerte por este y por todos tus artículos.
Un abrazo.
Que tal, oye tengo una duda.
Estoy concentrado en la parte que manda a tierra los leds, esta viendo que se usa el uln2803a, simule el circuito en isis usando el uln2803 ya que no cuenta con el 2803a, pero no funciona.
Sera el simulador?
Otra cosa la pata 10 de ese mismo CI creo que es un comun, puedo conectar esa pata a tierra y evitarme mandar uno por uno ??
Saludos
MMM creo que lo estaba conectando mal, ya lo conecte bien, pero tambien no funciona en el simulador, simplemente conectado la matriz al 2803 pareciera que todos estan conectados a tierra.
No se porque pasa eso.
Saludos
Realmente, muy bueno, alcontario de algun otro sitio donde despues de un post por curiosidad recibi, un "Que crees que nosotros lo aprendimos d la noche a la mañana.. y muhcos improperios mas", aqui se te disuleven las dudas aunque adentro de uno siga con la misma ignorancia, obviamente por falta de conocimiento, y que de a poco se va quietando con tan pbuenos post, com este y los otros, saludos y sigue adelante.
me podrían ayudar a hacer un programa para hacer una matriz de led's pero con el MC68HC908QY4 por favor
hola gracias por la infOormaciiOn, soy fan de la electronica aunque aun no se muchO apenas enpizo en la carrera de ing. electronica y me da gust0 que personas como usted dediquen un poco de su tiempo para expresar sus conicimientos y asi ayudarnos, a muchos gracias de nuevo y espero lograr hacer correctamente mi letrero electronico jeje saludos .
.
.
.
.
.
.
.
"viivan lOs soñadOores k nO duermen pOor hacer sus sueñOos realiidad"
Hola!!!
Oye tengo una duda, no eh comprendido las conecciones de los transistores, de la base va conectada una resistencia de 220 ohm y despues al pic al pin 24, una ves repetido las 8 veces mi pregunta es ¿todas las salidas de las resitencias de 220 van al mismo pin (24)?.
De igual forma sobre el unln2803A de la salida del pic, solo se conecta esa???
Espero me puedas ayudar, saludos y muchas felicidades buen aporte.
Orales no sabia que había encapsulados de transistores ya establecidos.
Bueno me gusto mucho toda la información que pusieron seguiré con la parte II.
Saludos desde México.
Donde esta la segunda parte q mencionan .. la de texto corredizo y demas es lo que necesito XD
Oye que buen post muy muy ultil gracias salvaste un proyecto
Hola
Oye que buen post .... pero me gutaria saber donde esta la segunda parte q mencionas ???? es q es justo lo q necesito para mi proyecto :$ G racias de todas maneras el post esta excelente
una preguntooooota! que compilador estamos usando en la segunda parte? esk io uso mplab y no se si es compatible =(
que compilador usan? esk io uso mplab y keria ver si es compatible...
que compilador usan? esk io uso mplab y keria ver si es compatible...
Saludos uy caray por lo visto este post ya tiene tiempito pero apenas lo he encontrado y solo tengo una duda que espero aun este en tiempo para saber la respuesta y es si este programa para el PIC lo pudiera grabar con el proteus o el PICBasic?? es con el quemador que cuento, saludos y espero mepuedan ayudar.
usaste proton para compilar cierto pero el archivo que crea es .bas como lo puedo cambiar a .hex y agregarlo al pic no entiendo ayuda por favor!!
Excelente trabajo Amigo!! Solo quisiera saber con que programa compilas tu programa?
hola, estoy agradecido por tu ayuda, me gusta tu manera de decir las cosas
atte: elard huamani ccallo
gracias por el aporte es fantastico espero o esches una manito como sacar datos la hora "hh mm ss" y la temperatura en displays de 7 segmentos seria fantastico nos eches una manitos de antemano muchas gracias por tu aporte es de mucha ayuda
que copilador usas no funciona el microcode
no funciona el microcode ecame una mano cual es tu copilador para hacer trabajar tu proyectos el microcode no funciona
gracias por compartir sus proyectos, trate de compilar ambos codigos, el asm y el basic y no fue posible, en ambos me da errores, que será que me pasa, por favor, me podría ayudar?
hola...muy interesante el post...kisiera saber cual es el siguiente post xq me interesa mucho implementar esta aplicacion..gracias..
yo quisiera tener info sobre como programarlo
me funciono muy bien..!! muchas gracias; con esto termino el colegio..!!
Hola tengo la siguiente duda conceptual que espero me ayudes a resolver, cuando no sea un solo display sino x numero de display no seria mas practico cargar el codigo de cada letra por las columnas y activar o barrer la respectiva fila???.
Hola me encanta este tema y quisiera ser capaz de realizar una matriz de 8 x 64, pero primero por lo basico osa una de 8x8. He leido el articulo pero observé que no hay un diagrama de conexion.
hola mil disculpas. yo tengo un cartel que me compre y es de 16x64 pero no tengo el programa para editar el texto. ustedes podrian ayudarme con eso? desde ya mil gracias
amigo el programa puedes utilizar arduino pero tienes que tener la tarjeta d arduino
Buenas tardes. No soy experto y por ello requiero de su ayuda. Compre un pasamensajes led. El primer día le programe el mensaje pero al otro día empezó a tener fallas. Las letras se deformaban. No tiene dañado ningún led. Gracias por la ayuda que me puedan brindar.
Hola como va? estoy teniendo problemas con la programación en Basic, que programa utilizaste para hacerla? poruqe en el programa que estoy usando hay datos que no reconoce, y se me esta haciendo dificil llegar al objetivo! si me podes ayudar estarìa muy interesante! desde ya, gracias!
Podrías mostrar como se hace una de 5x5 necesito reducir el numero de cables en mi proyecto. Está muy interesante gracias.
Cómo lo controlaría por arduino? el 8x8
Debes iniciar sesión para publicar un comentario.