Teoría Del Funcionamiento De Una Matriz De Diodos Led
Enviado por agualluvia • 21 de Agosto de 2012 • 4.287 Palabras (18 Páginas) • 1.520 Visitas
TEORÍA DE FUNCIONAMIENTO DE UNA MATRIZ DE DIODOS LED.
Introducción
Funcionamiento de una matriz de LEDs
La gran mayoría de los aficionados a la electrónica, tarde o temprano, se propone la construcción de un cartel basado en una matriz de diodos LEDs. El propósito de este artículo es explicar, de forma clara y sencilla, la forma de hacerlo.
A lo largo de estos parrafos veremos la forma de abordar el problema, y el principio de funcionamiento de una matriz de LEDs de un tamaño cualquiera. No construiremos ni programaremos una, pero si veremos como se debe hacer. Si el lector necesita un proyecto de este tipo listo para usar, puede consultar los que se listan al final de este artículo.
Utilidad de un cartel de LEDs
Un cartel formado por varias filas y columnas de LEDs, convenientemente programado, puede servir para pasar mensajes publicitarios, decorar nuestra habitación, ordenador o lo que se nos ocurra. No solo se trata de un proyecto más que interesante para llevarlo a cabo como hobbysta, sino que puede resultar interesante como un producto comercializable. Es que estas matrices, que en algunos países se las conoce como “cartel de LEDs” o “Publik”, son un recurso muy frecuentemente utilizado con fines publicitarios o informativos.
El Hardware
Desde el punto de vista del hardware, básicamente consiste en una matriz de píxeles similar a los de la pantalla de un ordenador, generalmente de un solo color (la mayoría de las veces rojos), aunque con el descenso de los precios de los LEDs individuales o en paneles, es cada vez más frecuentes ver carteles “bicolores” o incluso “multicolores”, aprovechando la ventaja del los LEDs RGB, que pueden mostrar cualquier color.
Matriz de LEDs RGB de 8x8 puntos.
Como es de suponer, el desarrollo, construcción y programación de un cartel e este tipo es una tarea bastante compleja, pero perfectamente posible para cualquiera que tenga conocimientos básicos de electrónica y programación. Este artículo puede ser utilizado como una guía paso a paso del proceso de creación de un cartel de este tipo. Y aunque no construyas uno, leyéndolo aprenderás algún truco útil que podrás emplear en otro proyecto.
Para mantener el nivel de la explicación dentro de lo razonable, y para no gastar una fortuna en nuestro cartel, lo diseñaremos monocromático, utilizando LEDs de color rojo únicamente. Las dimensiones de la matriz utilizada para mostrar los textos la decidirá cada uno de los lectores, pudiendo ser tan pequeña (7 filas y 5 columnas) o tan grande como se desee. Un tamaño razonable y muy empleado es el de 7 filas por 80 columnas, que permite escribir unas 14 o 16 letras de 7 “pixeles” de altura. A pesar de no ser demasiado grande, ya habrás sacado la cuenta de que se necesitan 560 LEDs individuales para armar el cartel.
Encendiendo un LED
En el número 2 de la Revista uControl, en el artículo llamado PICs y LEDs: una pareja perfecta vimos como encender un LED desde unmicrocontrolador. Y de hecho es algo muy simple: conectamos el ánodo del LED al PIC, el cátodo a un resistor y el extremo de este a +V. Cuando el pin del microcontrolador está en “1”, el LED enciende. Pero lamentablemente este esquema no sirve para la construcción de un cartel matricial como este, ya que al utilizar cientos de LEDs necesitaríamos tener un microcontrolador que tenga como mínimo ese número de pines de salida (y por supuesto, no existe).
Multiplexado
El secreto, por supuesto, está en el multiplexado. Esta técnica permite utilizar unos pocos pines de E/S del microcontrolador para manejar una serie de circuitos integrados que se encarguen de excitar los LEDs. Hay varias maneras, y muchos modelos diferentes de circuitos para hacer esto.
Pueden usarse un tipo de integrado digital llamado “LATCH”, que básicamente es una memoria en la que escribimos un valor, y lo mantiene en sus salidas hasta que nosotros lo indiquemos. De esta manera, usando varios latches podríamos encender los LEDs por turnos, rápidamente para que no se note el parpadeo, y de esa manera formar una palabra en el cartel.
Otra forma es utilizar un registro de desplazamiento como los analizados en el número 1 de la Revista uControl. Y de hecho, es de esta forma cómo vamos a diseñar nuestro cartel. Como vimos en esa oportunidad, un registro de desplazamiento funciona de la misma manera en que funciona una cola de gente que espera para entrar en un cine. Por un extremo de la cola van ingresando las personas que llegan, y por el otro van saliendo de la fila. En un registro de desplazamiento, en lugar de personas tenemos “0” y “1”. Lo bueno de esto es que para “meter” datos (“0”s y “1”s) en el registro de desplazamiento solo hacen falta tres pines del microcontrolador, independientemente de lo largo que sea.
Estos pines se encargan de tres tareas: Uno de ellos, al que denominaremos “DATA” es el encargado de decirle al registro de desplazamiento que lo que introduciremos es un “0” o un “1”. El segundo se encarga de avisar al registro que el dato ya está listo para ser ingresado, y lo llamaremos “CLOCK”. Y el ultimo, que no es indispensable, es el “RESET”, que se encarga de “vaciar” la fila escribiendo “0”s en todas las salidas del registro.
Para desarrollar nuestro ejemplo utilizaremos el circuito integrado 74HC164N, que es un registro de desplazamiento de 8 bits. Es decir, con el se puede armar una “fila” de 8 “personas”. Para construir un cartel de 80 columnas, necesitaríamos utilizar 10 de estos integrados, uno a continuación del otro. Afortunadamente, este integrado cuesta solo centavos.
En la figura 1 podemos ver la función de cada uno de los pines del 74HC164N y en la figura 2 de que forma podemos conectar uno a continuación del otro para obtener un registro de desplazamiento de cualquier longitud.
Figura 1.
Figura 2.
Filas y columnas
Bien, con el esquema explicado podemos encender los LEDs que queramos de una fila de 80 bits de largo. Si en el registro de desplazamiento introducimos “11111…111”, los 80 LEDs estarán encendidos. Si queremos encender uno por medio, escribiremos “10101…01”. Por supuesto, cuando lleguemos a la parte de la programación veremos cómo se ingresan uno a uno los “0” y “1” en el registro.
En este punto puede ser necesario analizar el tema de las filas. Si tenemos, por ejemplo, un cartel con 7 filas, y lo explicado recién sirve para manejar solo una de ellas ¿debemos utilizar un registro de desplazamiento para cada una de las filas restantes? Afortunadamente, la respuesta es no.
Si bien podríamos
...