35
 Como hacer un cartel de led Avisos por Yahoo! y Productos para enmascaramiento MOCAP  Cintas de poliéster y kapton, utilizadas para pintura. Catálogo.  www.mocap.com.mx  y Liquidaciones Juguetes  Precios Hasta 90% De Descuento Pormayor. Excelente Para Vendedores.  www.CloseoutsOutlet.com  y tratamiento de aire Destaco México  500 Modelos, excelentes precios, los tratamiento de aire manuales son sujetadores.  www.cesehsa.com.mx  Una guia bastante completa y esta muy buena para hacerla. Introducción 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 s encilla, la forma de hacerlo.  A lo largo de estos parrafos ver emos la forma de abordar el problema, y el pri ncipio 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.

Como Hacer Un Cartel de Led

Embed Size (px)

Citation preview

Page 1: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 1/35

 

Como hacer un cartel de led

Avisos por Yahoo! 

y  Productos para enmascaramiento MOCAP  

Cintas de poliéster y kapton, utilizadas para pintura. Catálogo. 

www.mocap.com.mx  

y  Liquidaciones Juguetes  

Precios Hasta 90% De Descuento Pormayor. Excelente Para Vendedores. 

www.CloseoutsOutlet.com  

y  tratamiento de aire Destaco México  

500 Modelos, excelentes precios, los tratamiento de aire manuales son sujetadores. 

www.cesehsa.com.mx  

Una guia bastante completa y esta muy buena para hacerla.

Introducción 

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.

Page 2: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 2/35

Page 3: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 3/35

 

 

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.

Page 4: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 4/35

 

 

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 tru co ú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.

Page 5: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 5/35

 

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 un microcontrolador. 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 (0s y 1s) en el registro de desplazamiento solo hacen falta

tres pines del microcontrolador, independientemente de lo largo que sea.

Page 6: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 6/35

 

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 0s 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.

Page 7: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 7/35

 

 

Figura 1.

Page 8: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 8/35

 

 

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

 11111111, los 80 LEDs estarán encendidos. Si queremos encender uno por

medio, escribiremos 1010101. 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 utilizar 7 registros de este tipo, la cantidad de circuitos

Page 9: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 9/35

 

integrados necesarios (56 de ellos), la complejidad del circuito impreso y el costo

implicado lo hacen poco aconsejable. Nosotros aprovecharemos un defecto del ojo

humano, que mantiene la imagen vista durante unos 20 o 30 milisegundos, para

 dibujar una fila a la vez, pero muy rápidamente, de forma que todo el cartel

 

parezca estar encendido a la vez. Si, se trata de un sistema similar al empleado en el

cine o en la televisión.

Si seguimos pensando en un cartel de 7 filas y 80 columnas, sin utilizar registros de

desplazamiento necesitaríamos 560 pines de entrada/salida. Con el esquema

propuesto solo necesitamos 7 de ellos para seleccionar la fila a escribir, y tres para

manejar el registro de desplazamiento. Es decir, un PIC de 3 euros y 18 pines

serviría perfectamente para realizar el proyecto.

¿Cómo funciona la matriz? 

Como dijimos antes, la pantalla está formada por una serie de filas y columnas. La

intersección entre ambas contiene un LED. Para que este encienda, tiene que recibir

simultáneamente un 0 en la fila, y un 1 en la columna. Cuando se dan estas

condiciones, la electrónica de la placa se encarga del encendido del LED en cuestión.

La forma de generar un mensaje sobre el display es relativamente sencilla, si nos

atenemos al siguiente algoritmo:

1) Apagar todas las filas.

2) Escribir los valores correspondientes a la primer fila en el registro de

 

desplazamiento, teniendo en cuenta que el primer digito binario colocado

corresponde al último LED de la fila, y el ultimo en poner al de la pri mer columna.

3) Encenderla primer fila, esperar un tiempo, y volver a apagarla.

4) Repetir los pasos 2 y 3 para las filas restantes.

El tiempo de la demora debe ser tal que permita una visualización correcta, sin

Page 10: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 10/35

 

molestos parpadeos y con los LEDS brillantes. Hay que tener en cuenta que si

utilizamos tiempos mayores para el encendido de cada fila, el brillo de los LEDS será

mayor, pero también aumentará el parpadeo. La forma de transformar este

algoritmo en un programa funcional depende de cada programador, y puede ser más

 

o menos complejo según se permitan diferentes tipos de caracteres, animaciones,

etc.

El brillo de los LEDs  

Un punto a tener en cuenta es la intensidad del brillo que puede proporcionar el tipo

de LED que utilicemos.U

n LED, utilizado en aplicaciones normales, se alimentacon unos 3V y requiere unos 15mA (varia ligeramente de un modelo a otro) para

 

brillar con una buena intensidad. En caso de un típico cartel de 7 filas, a pesar de

que las veremos encendidas al mismo tiempo, cada LED solo estará encendido la

 

séptima parte del tiempo, por lo que su brillo será siete veces inferior al normal, y

nuestro cartel apenas será visible.

 Afortunadamente esto también tiene solución: dado que los tiempos que

permanecerá encendido cada LED no superará los 20 o 30 milisegundos, podremos

hacerles circular una corriente mayor a la nominal sin que lleguen a dañarse, con loque brillarán mucho más intensamente, dando como resultado un cartel

perfectamente visible.

Respecto de los LEDs, podremos utilizar LEDs discretos (y soldar 1120 terminales) o

comprar paneles de 7x5 LEDs que tienen unos 14 o 16 terminales (según el

modelo), estando ya interconectados en forma de matriz. Quizás sea esta la mejor

alternativa.

El circuito de ejemplo  

Dado que nuestro hipotético cartel tiene fines meramente educativos, y la intención

mantener su costo lo más bajo posible para que cada lector pueda construirlo, por lo

Page 11: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 11/35

 

que intentaremos realizarlo en base a un microcontrolador pequeño, como el

PIC16F628A. Si el lector necesita un cartel de mayor tamaño o con capacidad para

almacenar textos o imágenes más extensos, deberá utilizar algún micro con mayor

capacidad y velocidad.

 

La utilización de una memoria EEPROM externa de un tamaño bastante grande,

 

como la 24C256, nos brinda la posibilidad de almacenar mucho texto en ella. Por

supuesto, esto también puede ser ampliado con mucha facilidad.

Dividiremos el esquema electrónico del cartel en dos partes: en primer lugar

veremos toda la lógica de control, y en segundo, la pantalla con el registro de

desplazamiento. A la hora de llevarlo a la práctica se puede incluso hacer dos

circuitos impresos por separado. Esto le permitiría al lector experimentar con otros

controladores sin necesidad de volver a montar la placa de los displays, o viceversa.

El circuito controlador  

Este es el cerebro de nuestro cartel. Será el encargado de gestionar el encendido de

cada LED mediante órdenes enviadas a las columnas mediante el registro de

desplazamiento y a las filas.

Como una fila tendrá muchos LEDs (80, por ejemplo)y existe la posibilidad que en

algún momento puedan estar todos encendidos, no podemos conectarlas

 

directamente a pines de E/S del PIC, porque la corriente que demandarían haría que

el puerto del microcontrolador pase a mejor vida. Para evitar esto, utilizaremos en

medio un transistor capaz de manejar la corriente requerida.

Page 12: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 12/35

 

 

Controlador del cartel.

Page 13: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 13/35

 

 Analicemos el circuito de la figura anterior. El centro de todo es el microcontrolador

PIC16F628A, que tiene su pin de RESET conectado a un pulsador y un resistor de

10K. Este pulsador permite reiniciar el cartel cuando lo necesitemos. También se ha

implementado un circuito de reloj externo, basado en un cristal de 4 MHz y dos

 

condensadores de 22 nF. Esto le permite al PIC ejecutar un millón de instrucciones

por segundo, más que suficientes para este proyecto.

 

Los pines 1 y 2, correspondientes a los terminales A2 y A3 del microcontrolador, se

han utilizado para acceder a una memoria EEPROM del tipo 24C256. Esta m emoria

es de acceso serial (por eso necesitamos solo dos pines del PIC para usarla)

mediante el protocolo I2C, y tiene capacidad para almacenar 32.768 Bytes. Si

nuestro programa hace uso de ella, podemos guardar allí 32.768 caracteres (con el

display en modo texto) o más de 450 pantallas de 7x80 píxeles en modo gráfico. Si

resultara insuficiente, puede ponerse una memoria de mayor capacidad, siempre

consultando la hoja de datos de la misma para asegurarnos su compatibilidad con la

del ejemplo.

Todo el puerto B del PIC está dedicado a controlar las filas del cartel. Como ya

habrán notado, tenemos 8 salidas para filas, y nuestro cartel tiene solo 7 filas.

Efectivamente, la fila 8 no se utilizará si nuestra pantalla está construida con

 

módulos LED de 7x5, pero el circuito de control está preparado para el uso (en caso

de que alguien los prefiera) de módulos de 8x8 o bien para crear un cartel de 8 filas

 

mediante el uso de LEDs sueltos. Quienes utilicen módulos de 7x5 pueden ahorrarse

el transistor de la fila 8.

Por último, los pines 17 y 18, correspondientes a los terminales A0 y A1 del

microcontrolador se encargan de la gestión del registro de desplazamiento. El

programa deberá generar los pulsos de reloj necesarios por el pin 18, y meter los

datos en el registro por el pin 17.

No hemos incluido una fuente de alimentación. Cualquier fuente comercial (o

construida en casa) que sea capaz de entregar 5V y 2A será suficiente. Esos 5V

deben estar bien regulados, y por supuesto, el software deberá estar escrito

correctamente, es decir, no encender varias filas al mismo tiempo, ya que el

consumo de todo el cartel encendido sería de unos 80 x 70 x 20mA = 11.2 A, lo que

podría destruir la fuente en caso de que no cuente con protecciones adecuadas.

Page 14: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 14/35

 

 El display 

Esta es la parte del proyecto que todo el mundo va a mirar, así que debemos ser

prolijos al montarlo. Como puede verse en el esquema eléctrico de la figura 4,

hemos utilizado un total de 10 circuitos integrados 74HC164N para construir el

registro de desplazamiento de 80 bits de largo, uno para cada columna. Como

explicamos, si alguien quiere hacer un cartel más largo o más corto, deberá poner

más o menos integrados.

Page 15: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 15/35

 

 

De esta forma se conectan los LEDs

en filas y columnas.

Si miramos el esquema del display, veremos que en la parte superior se muestra

Page 16: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 16/35

 

como está conectado cada LED dentro de la matriz de 5x7. Esto es importante

tenerlo en cuenta a la hora de comprar los módulos, ya que hay una gran cantidad

de modelos, y algunos de ellos tienen los LEDs conectados en el sentido inverso.

Cada display también difiere en la función de cada terminal, por lo que se debe estar

a atentos a la hoja de datos para diseñar el circuito impreso apropiado, y

 

conectarlos como corresponda.

En el dibujo del circuito no hemos representado los 16 módulos ni los 10 circuitos

integrados, por una cuestión de espacio, pero es fácil darse cuenta de qué forma se

conectan las filas y columnas de los demás displays a cada 74HC164N.

No utilizaremos el pin de RESET de los 74HC164N. En lugar de ser controlados desde

el microcontrolador, cada RESET está puesto a +5V, de forma que el integrado

funcione continuamente. Si por algún motivo se desea borrar la pantalla, basta con

enviar 80 0s al registro de desplazamiento y listo. El tiempo empleado para esa

tarea es despreciable, ya que el microcontrolador estará ejecutando 1 millón de

instrucciones por segundo. El utilizar una línea de control menos nos permitirá tener

una placa de circuito impreso ligeramente más sencilla.

Cada salida de los 74HC164N, como dijimos, se conecta a una columna de la serie de

displays. Esta conexión se efectúa mediante un resistor de 1/8 de Watt, que en el

 

esquema se ha dibujado con un valor de 330 ohm. Ese fue el valor adecuado para el

tipo de módulos que conseguimos para hacer el prototipo, pero su valor variará de

un modulo a otro. Se puede montar solo un display con resistores de 330 ohms, y

ver como es el brillo de los LEDs. Si es escaso, se puede bajar el valor a 220 o 100

ohms. Con eso debería ser suficiente

 Video YouTube: http://www.youtube.com/watch?v=xz9BTzbF7JY 

El software 

 Ahora nos toca abordar la programación del hardware propuesto. El cartel del LEDs

que estamos construyendo puede adoptar diferentes tamaños de acuerdo a las

necesidades o componentes que cada uno consiga. Esto hace que sea imposible

Page 17: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 17/35

 

proporcionar un programa específico que funcione en cualquier versión de cartel

que se haya construido, pero sin embargo podemos hacer algo mucho mejor: ver de

qué manera se escribe un programa de este tipo en BASIC (del PIC SIMULATOR

IDE) para que cada uno lo adecue a su proyecto.

 

Debemos pensar en un programa que nos permita mostrar píxeles individuales

 

representados sobre la pantalla de nuestro cartel. Sigamos con el ejemplo del cartel

de 80 columnas y 7 filas de altura, recordando que todo lo que expliquemos puede

ser adecuado para carteles de otro tamaño.

Lo primero que necesitamos saber es que el barrido del cartel debe hacerse por

filas. Es decir, mostraremos el contenido de la primera fila, esperamos un tiempo

determinado (unos pocos milisegundos), mostramos el de la segunda fila,

esperamos nuevamente, y así hasta llegar a la última fila, tal como se expresa en el

algoritmo visto mas arriba.

El motivo de no emplear las columnas para realizar el barrido es que como son más

numerosas, el tiempo total que se necesita para escribir por filas es mucho menor

que el necesario para escribir por columnas, y en la práctic a eso significa que el

brillo de nuestro cartel será mucho mayor si lo hacemos por filas, ya que cada LED

 

permanecerá encendido 1/7 del tiempo. Si lo hiciésemos por columnas, cada LED

estaría (en este ejemplo) encendido solo 1/80 del tiempo, por lo que su brillo seria

 

unas 10 veces menor.

 Ahora bien, el primer problema a resolver es ¿Cómo escribo los datos de una fila del

cartel? Esto tiene una solución más que simple: solo debemos introducir en el

registro de desplazamiento los 0 y 1 necesarios para que los LEDs que queremos

estén encendidos en esa fila tengan +V en sus ánodos. Por supuesto, mientras

hacemos esto todos los pines del microcontrolador que controlan las filas deberán

estar apagadas, para que no se perciba una débil luminosidad en todos los LEDs de

la fila que estamos escribiendo a medida que pasan los datos a través del registro.

El primer valor que se debe meter en el registro de desplazamiento es el que

corresponderá a la última columna. A medida que vamos ingresando los siguientes,

se van desplazando hacia el final del cartel. Cuando hayamos introducido el valor

número 80 (que corresponderá a la primera columna) el primer valor que metimos

 

habrá llegado a su posición. En ese momento tenemos todo el registro escrito, y ya

Page 18: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 18/35

 

podemos activar la salida del PIC que corresponde a esa fila en particular.

El tiempo que debe estar encendida la fila se puede determinar empíricamente, pero

por lo generan unos 10 milisegundos es suficiente. Si tenemos 7 filas, 10

 

milisegundos de demora permitirían escribir todo el cartel en unos 70 milisegundos,

por lo que obtendríamos un máximo de 1000/70 = 14 frames por segundo. Este es

 

un muy buen valor para una pantalla de este tipo, ya que solo estamos mostrando

un texto y no un video.

En los cálculos anteriores no tuvimos en cuenta el tiempo que se demora en escribir

los 80 valores en el registro de desplazamiento. Veamos porque: cada valor

ingresado en el registro de desplazamiento demora unos 2 microsegundos. Es decir,

demoramos 2 x 80 = 160 millonésimas de segundo en escribir toda la fila. Si

multiplicamos este valor por 7 tendremos en tiempo que necesitamos para escribir

las 7 filas del cartel, lo que nos da 1136 millonésimas de segundo, es decir, poco

más de 1 milésima. Este es un tiempo despreciable frente a las 70 milésimas que

nos tomamos para mostrar la imagen completa, y podemos despreciarla.

 Ahora vamos a ver, en BASIC, como hacer para escribir un valor en el registro de

desplazamiento. Recordemos que el dato ingresa al registro en el momento que se

 

produce la transición de 0 a 1 del pulso de CLOCK, por lo que se deberán seguir

los siguientes pasos para ingresar cada uno de los 80 valores correspondientes a

 

cada fila:

1) Fijar el valor del dato a escribir (si DATA es 1, hacer PORTA.0 = 1, si no PORTA.0

= 0)

2) Poner la línea de CLOCK en estado bajo (PORTA.1 = 0).

3) Esperar un 1 microsegundo (WaitUs 1)

4) Poner la línea de CLOCK en estado alto (PORTA.1 = 1). En este punto el dato

entra efectivamente en el registro de desplazamiento.

5) Esperar un 1 microsegundo (WaitUs 1)

Page 19: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 19/35

 

6) Fin

En BASIC, si hemos declarado que

 

Symbol clock = PORTA.1

 

Symbol data = PORTA.0

Un 0 se escribiría así:

data = 0

clock = 0

WaitUs 1

clock = 1

WaitUs 1 

 Y un 1 de la siguiente manera:

data = 1

clock = 0

WaitUs 1

clock = 1

WaitUs 1

Para escribir los 80 valores de la fila necesitamos hacer una subrutina que, tomando

10 bytes de la memoria EEPROM (10 bytes x 8 bits = 80 bits, es decir, una fila

completa) los vuelque al registro de desplazamiento.

Si repetimos 7 veces este procedimiento, tendríamos una pantalla de 7x80

completa. Eso significa que en la EEPROM cada pantalla va a necesitar de 70 bytes

(10 bytes por fila, 7 filas) para almacenar el mapa de bits correspondiente.

 Veamos un ejemplo de cómo podría ser la subrutina encargada de escribir un byte

tomado de la EEPROM en el registro de desplazamiento, a la que hemos llamado

 

escriboByte:

Page 20: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 20/35

 

 

escriboByte:

For columna = 1 To 8

If dato.7 = 0 Then

data = 0

clock = 0

WaitUs 1

clock = 1

WaitUs 1

Else

data = 1

clock = 0

WaitUs 1

clock = 1

WaitUs 1

Endif

aux = ShiftLeft(dato, 1)

Next columna

Return

Esta función debe ser llamada 10 veces para escribir la fila completa, con el valor a

 

escribir guardado en la variable dato. El motivo por el cual el bucle FOR-NEXT

toma los bits del byte desde el 7 hasta el 0 se debe a que justamente el último bit es

el que debe ingresar primero al registro de desplazamiento, tal como explicamos

antes.

Debemos partir de la base de que la información de la EEPROM la vamos a grabar

desde un ordenador, y que seguramente crearemos un programa que permita, a

partir de un texto determinado, generar los bits individuales que componen el

bitmap de cada pantalla del cartel. Esto simplifica muchísimo la programación del

microcontrolador, ya que solo debe dedicarse a leer la EEPROM y volcar su

contenido al registro de desplazamiento, sin tener que dibujar las letras a partir

de una tabla ni nada por el estilo.

Textos animados  

Page 21: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 21/35

 

   

a¡ 

a a¢  

£ 

¤   

a¡ 

 ¥  

¦ 

t¥  

§  

t ̈ 

 ¤  ̈ 

st¡ 

ad ̈ 

 ¥ ¢  

 ¥  

¦ 

d£ 

sp¦ 

ay©  

ay d ̈ 

s ̈ 

p  

£ 

¨ ¢ ¥  

s  

  a p

¡ 

£ 

¤ ¥  ¡ 

a d¥  

 ¥  

¦ ¦ 

a¥  

s

q ¥  

    ¢  

a ¥   

q ¥  

 ¥  

¦ 

  £ 

t¤   

ap d¥  

 ¦ 

a   

  

  

  

!   

©  

a s£ 

d ̈ 

 ¤  ̈ 

st¡ 

ad ̈ 

 ¥ ¢  

 ¦ 

a pa¢  

ta¦ ¦ 

a    ¨ ¤ ¥ ¢ ¥ ¤ ¨    

s a¡ ¥  

d£   

  

a¡ 

¦ 

 ̈ 

  ¨ ¢  

t£ 

¢   

a¤ ¥ ¢  

t¥  

(s£ 

 ¢  ̈ 

 ¦ 

 ̈ 

 ©  

a ¥ ¤ ¨    

s   ¥  

¦ 

t¥ §  

t ̈ 

d¥  

sapa¡ ¥ ¥ ¡  

á

d¥  

 ¦ 

a pa¢  

ta¦ ¦ 

a) p¥ ¡  ̈ 

   

ada ¢  

t£ 

¥ ¤   

p ̈ 

d¥  

t¥ ¡ ¤   

£ 

¢  

ad ̈ 

(1 s¥  

g ¢  

d ̈ 

p¨ ¡ 

 ¥  

¥ ¤   

p¦ 

 ̈ 

)¥  

s  

¡ 

£ £ 

¤  ̈ 

s  

¢  

  £ 

t#  

0$  

 ¤   

ás¥ ¢  

   

ada% £ ¦ 

   

s d¥   

£ 

¡ 

   ¥  

s  

¡ 

£ £ 

¤  ̈ 

s 81 £ 

ts¥ ¢  

 ¥  

¦ 

p¡ 

£ 

¤ ¥  ¡ 

 

s¥  

g ¢  

d ̈ 

  82¥ ¢  

 ¥  

¦ 

s¥  

g ¢  

d ̈ 

   ¥  

t  

  

  st

 ̈ 

 ©  

a¡ 

á q ¥  

 ¥  

¦ 

t¥ §  

t ̈ 

s¥  

d¥  

sp¦ 

a ¥  

d¥  

 £ 

  

q  

£ 

¥ ¡ 

da a

 

d¥  

¡ ¥   

©  

a  y¥  

s¦ 

a a¢  

£ 

¤   

a  

£ 

&  

¢  

 ¤   

ás% 

á  

£ ¦ 

d¥  

 £ 

¤   

p¦ 

¥ ¤ ¥ ¢    

ta¡ 

  

'  £ 

¢  

 ¥ ¤   

  

a¡ 

g ̈ 

   ¦ 

 ̈ 

 ¢  ̈ 

¡ ¤   

a¦ 

 ¥  

s q  

¥  

 ¦ 

 ̈ 

s t¥  

§  

t ̈ 

s d¥  

d¥  

sp¦ 

a ¥ ¢  

 ¥ ¢  

s¥ ¢  

t£ 

d ̈ 

  ¨ ¢  

t¡ 

a¡ 

£ 

 ̈ 

  p ̈ 

¡ 

 ¦ 

 ̈ 

q  

¥  

 ¢  

  ¥  

st¡ 

 ̈ 

p¡ 

 ̈ 

g¡ 

a¤   

a d¥  

  

¥  ¡ 

a©  

a ¥  

¡ 

 ¦ 

 ̈ 

s£ 

g  

£ 

¥ ¢  

t¥  

  ¨ ¤ ¥ ¢    

  

a¡ 

 ¥  

s  

¡ 

£ £ 

¥ ¢  

d ̈ 

80#  

0$  

s¥ ¢  

 ¥  

¦ 

 ¡ 

¥  

g£ 

st¡ 

 ̈ 

a¢  

t¥  

s d¥  

 ¥ ¢  

  

£ 

a¡ 

 ¦ 

a£ 

¢  

¨ ¡ ¤   

a  

£ 

&  

¢  

d¥  

 ¦ 

a% £ ¦ 

a   ¦ 

¥  

g ̈ 

 ¥  

s ¡ 

£ £ 

¡ 

79#  

0$  

s  y as( 

s ¥  

s£ 

  

a¤ ¥ ¢  

t¥  

  

0  

¥  

 ¥  

sa¤   

a¢ ¥ ¡ 

a   ¥  

¦ 

 

t¥  

§  

t ̈ 

a¦ 

p¡ 

£ 

¢   

£ 

p£ 

 ̈ 

 ¢  ̈ 

s¥  

¡ 

á  

£ 

s£ ¦ 

¥  

(¥  

sta¡ 

á#  

d£   

  

ad ̈ 

$  

a¦ 

a d¥  

¡ ¥   

©  

a    % 

  ¥  

¡ 

a d¥  

¦ 

 ¡ 

¥  

g£ 

st¡ 

 ̈ 

 

d¥  

d¥  

sp¦ 

a  

a¤   

£ 

¥ ¢  

t ̈ 

)  y¦ 

¥  

g ̈ 

a¤ ¥  

d£ 

da q ¥  

 ¥  

¦ 

 ¢ ¤ ¥ ¡ ¨    

d¥  

 #  

0$  

s¥  

s ¡ 

£ 

t ̈ 

s  

a

d£ 

s¤   

£ 

¢    

y¥ ¢  

d ̈ 

    ¨ ¤ ¥ ¢    

  

a¡ 

a a s¥  

¡ 

   

£ 

s£ ¦ 

¥  

   ¥ ¢  

t¡ 

a¢  

d ̈ 

d¥  

sd¥  

 ¦ 

a d¥  

¡ ¥   

©  

a  

  

a s¥  

g  

¢  

da¤   

a¢ ¥  

¡ 

a¥  

s q  

¥  

 ¥  

¦ 

s ̈ 

t1  

a¡ 

¥  

q  

¥  

 ¥  

s  

¡ 

£   

¥  

 ¦ 

 ̈ 

s dat ̈ 

s¥ ¢  

 ¦ 

a   

  

  

  

!  

g  

a¡ 

d¥  

 

  

ada#  

    

ad¡ 

 ̈ 

$  

d¥  

 ¦ 

a a¢  

£ 

¤   

a  

£ 

&  

¢  

     

¢  ̈ 

a ¨ ¢  

t£ 

¢    

a  

£ 

&  

¢  

d¥  

¦ 

  ̈ 

t¡ 

 ̈ 

  y q  

¥  

 ¥  

¦ 

   

IC s¥  

 ¦ £ 

¤   

£ 

t¥  

a¥  

s  

¡ 

£ £ 

¡ 

   

ada  

  

ad¡ 

 ̈ 

 ¦ 

¥  

d ̈ 

d ¡ 

a¢  

t¥  

(p ̈ 

¡ 

 ¥  

¥ ¤   

p¦ 

 ̈ 

)  

¢  

s¥  

g  

¢  

d ̈ 

  

  st

 ̈ 

    

¥  

¦ 

  ¥  

a% 

a  

£ ¦ £ 

ta¡ 

 

¤     

  

©  

 ̈ 

 ¦ 

a p¡ 

 ̈ 

g¡ 

a¤   

a  

£ 

&  

¢  

d¥  

¦ 

   

IC  a¦ 

a  

¥    

q  

¥  

p¥  

¡ ¤   

£ 

t¥  

a¢  

£ 

¤   

a  

£ 

¨ ¢ ¥  

s¤   

    

©  

 ̈ 

 ¤   

ás ¨ ¤   

p¦ £ 

  

adas  

  

 ̈ ¡ 

s  

p  

¥  

st ̈ 

   ¥  

¦ 

p¡ 

¥   

£ 

 ̈ 

a paga¡ 

 ¥  

s¥  

¦ 

 ¥  

spa  

£ 

 ̈ 

d¥  

 ¤ ¥ ¤ ¨    

¡ 

£ 

a   

  

  

  

!   

¡ ¥  

q  

¥  ¡ 

£ 

d ̈ 

pa¡ 

a£ 

¤   

p¦ 

¥ ¤ ¥ ¢    

ta¡ 

 ¥  

sta t2  

¢  

£ 

  

a  

Mat i LE S 7 filas 32 l as.¡ iscut , comenta o consulta este tema en el f oro uControl!  

Introducción 

Matr i3  

 de LE4  

S de 75  

32

Page 22: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 22/35

 

En este proyecto veremos como diseñar y construir un display de diodos leds, que nos servirá

de pantalla para exhibir textos o imágenes, fijas o animadas.6  

os usos son varios, desde un

sofisticado modding en el gabienete de nuestro ordenador hasta su empleo como medio para

exhibir mensajes o publicidad. Por supuesto, sus dimensiones pueden resultar insuficientes

para algunos usos, pero es fácilmente expandible.

6  

a gran mayoría de los aficionados a la electr 7  

nica, tarde o temprano, se propone la

construcci7  

n de un cartel basado en una matriz de diodos6  

EDs. El prop7  

sito de este artículo

es explicar, de forma clara y sencilla, la forma de hacerlo.

Un cartel formado por varias filas y columnas de6  

EDs, convenientemente programado, puede

servir para pasar mensajes publicitarios, decorar nuestra habitaci7  

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.

Tabla de contenidos

[esconder ] 

1 Introducci 8   n 

9    Descripci 8   n del proyecto 

9   .1 ³Houston, tenemos un problema´ 

9   . 9    Multiplexado 

@    El hardware 

@   .1 Tres Placas 

@   . 9    El cable plano 

@   . @     A   ista de componentes 

@  

.4 PCBs 

4 El Software 

4.1 Programaci8   n 

4.9   El registro de desplazamiento 

4.@    C 8   digo fuente 

5 Downloads 

Page 23: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 23/35

 

  6  Algunas ideas 

6.1 ConexiB   n con la PC 

6.C    Más y más ideas 

D    Temas relacionados 

8  Autor  

Descripci n del proyecto

³Houston, tenemos un problema´

Por ejemplo, un PIC16F8E  

6A deF  

8 pines dispone deF F  

dedicados a funciones de E/S, y su

hermano mayor, el PIC16F8E E  

 A que cuenta con un total de 40 pines dedicaG G  

a estos

menesteres. Habitualmente, con un número así de pines de control es posible resolver 

correctamente casi cualquier situaciH  

n que se nos plantee, ya que normalmente en el diseño de

un circuito de control basta con leer unos pocos pulsadores o sensores, y luego de realizar 

internamente algún proceso con esas señales, se actúan (o no) unas pocas cargas conectadas

a sus salidas, generalmente mediante reles o interfaces de algún tipo. Sin embargo, hay caso

concretos en que ningún PIC (o microcontrolador de otras familias) puede aportar en numero

suficientes de E/S que permitan controlar todas las cargas conectadas a el, y se deben recurrir 

a circuitos de apoyo comandados mediante señales de control y utilizando un bus de datos.

Uno de esos casos es el que nos ocupa en este articulo.

En lo que respecta a las entradas y salidas (E/S), cada microcontrolador, al igual que cualquier computadora, dispone de un numero finito de ellas, y en general, se trata de un numero no

demasiado elevado. Esta claro que si queremos formar una imagen mediante pixeles

compuestos por I  

EDs individuales, harán falta un numero de líneas de control mucho mayor 

que las disponibles en cualquier microcontrolador .

Nuestra pantalla será semejante a esos displays que seguramente habrán visto en algún

comercio o local de servicios, en los que un texto realiza un scroll de derecha a izquierda, a

una velocidad que permite la ilusiH  

n de un movimiento suave y continuo. Estas matrices de leds

generalmente están conformadas por un cierto número de filas y de columnas.

Para permitir un texto legible, que represente claramente los caracteres correspondientes a las

letras mayúsculas y minúsculas hacen falta unasE  

filas de alto, y si queremos que el display

muestre unos 10 o 1F  

caracteres simultáneamente, necesitaremos unas 100 columnas.

Page 24: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 24/35

 

Si multiplicamos el numero de filas por las columnas, tendremos el numero deP  

EDs que hay

presente en un display de este tipo. Con los valores que mencionábamos recién, vemos que se

necesitanQ  

00P  

EDs para un display no muy complejo, y de un solo color.

Si nos limitáramos a los medios ³tradicionales´ para encender o apagar cada

P  

ED del display,es decir, conectando cada uno de ellos a un pin de salida del PIC y encenderlos mediante 0 o 1

publicados en ese bit del puerto, nos harían falta un PIC con al menosQ  

00 pines, algo que

debemos descartar de plano por que no existe.

Una soluciR  

n posible seria utilizar varios PICs conectados entre si, de manera que cada uno

maneje por ejemplo dos o tres columnas, y mediante algún protocolo se envíen mensajes entre

ellos para mostrar la parte del texto que le corresponde. Esta alternativa tiene más

posibilidades de éxito, pero cuenta con la contra de una programaciR  

n compleja y un costo

elevado, ya que se necesitan unosS  

PICs por carácter, lo que econR  

micamente no es viable.

P  

a respuesta a este problema viene de la mano de la multiplexacion, el empleo de buses y

circuitos de apoyo que transformen datos enviados en forma serial a una representaciR  

n en

paralelo.

Multiplexado

El termino ³multiplexar´ hace referencia a una técnica que permite aprovechar unas pocas

líneas de datos para diferentes tareas, cambiando la funciT  n que cumplen a lo largo del tiempo.

Un ejemplo podría ser un sistema de control de temperaturas de varios ambientes. Dado que la

velocidad no es crucial, ya que en términos de milisegundos (o microsegundos) la temperatura

casi no varía debido a la inercia térmica, se puede utilizar un único circuito que lea

alternativamente cada sensor de temperatura. Esto evita la duplicaciT  n de circuitos y permite

resolver el problema con una fracciT  

n de los recursos (pines I/O) disponibles.

En el caso de este proyecto, la pantalla que construiremos esta formada por una matriz deU U  

4

diodosV  

EDs distribuidos una matriz deW  

U  columnas por 

X  filas. Estos valores se eligieron por 

ser casi los mínimos para lograr un display útil, ya que un carácter para ser legible necesita

Page 25: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 25/35

 

tener una altura de 5 oY  

píxeles, y un ancho como mínimo de 5. Con estas dimensiones,

lograremos ubicar un texto de unos 5 o 6 caracteres, que opcionalmente puede irse

desplazando por la matriz.

El hardwareTres Placas

Por razones de comodidad, el proyecto se distribuyo sobre tres placas de circuito impreso

diferentes. ̀ 

a primera de ellas, encargada de la alimentacia  

n, control la  gico y la comunicaci

a  n

con la PC es la que incluye el PIC, coraza  

n del proyecto. Además, en ella se encuentra la

etapa de alimentacia  n, excepto el transformador, llave y fusible que deberán alojarse en el

gabinete que contenga esta placa.

 ̀ a alimentaci

a  n esta basada en un regulador de voltaje

 ̀ M

Y  

805, capaz de entregar 500mA sin

disipador, y hasta 1A si lo refrigeramos convenientemente. Si sacamos algunas cuentas,

veremos que gracias al multiplexado nunca debería haber más de una fila encendida al mismo

tiempo, que en el caso más desfavorable tendríab c  

leds encendidos. Cada ̀ 

ED consume unos

15 miliamperes (5V /b b  

0 ohms = 0.015A), por lo que el consumo de la ³pantalla´ es de 0.015 x

b c  = 480mA, si esto sumamos el consumo del resto de la electr 

a  nica, el consumo total ronda

los 600mA. El ̀ M

Y  

805 de mi prototipo apenas se entibia sin utilizar disipador.

Page 26: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 26/35

 

 

El PIC se encarga de generar los pulsos de Cd  

OCK y DATOs (pines 1e  

y 18) que son enviados

a la ³placa de video´ que es la que tiene lose  

4HC164N que forman un registro de

desplazamiento. También tiene la posibilidad de conectarse a una PC vía RS-f g f  

(ver mas

adelante) y controla los drivers que proveen la corriente que alimenta cada fila del display.

Como la corriente es muy elevada para ser entregada directamente por el PIC, se incluyerone  

 

transistores BCg f  

e  

para esta tarea.

Se utilizo un cristal de 4MHz y dos capacitores def f  

nF para generar los pulsos de reloj del

micro en lugar del reloj interno, para lograr una mejor estabilidad con la temperatura, ya que en

caso se utilizar la conexih  

n RS-f g f  

la velocidad es un tema delicado.

d  a segunda de las placas, que se conecta mediante un cable plano a la primera, es la

encargada de controlar el display. Recoge los pulsos de Cd  

OCK y los datos provenientes de la

placa controladora vía el cable plano, y energiza las columnas que correspondan. d   ose  

4HC164N se conectan a cada columna a través de una resistencia deg g  

0 og  

90 ohms.

Si se quiere aumenta el brillo de losd  

EDS, pueden reemplazarse por resistencias def f  

0 ohms

(o incluso menores), pero asegurándose que el tiempo de encendido de los leds no pase de

unos milisegundos por vez para evitar su envejecimiento prematuro. También hay que prestar 

atencih  

n al consumo de corriente total, y posiblemente cambiar los transistores BCg f  

e  

por 

BC640, capaces de manejar corrientes mas elevadas.

Por ultimo, la placa mas sencilla, pero a la vez mas laboriosa desde el punto de vista

constructivo es la ³pantalla´ propiamente dicha, ya que esta formada por f f  

4 diodosd  

EDs.Esta placa recibe las señales de control provenientes de la ³placa de video´ mediante pines de

bronce que le otorgan soporte mecánico y eléctrico simultáneamente, y mediantee  

pequeños

cables que son los encargados de seleccionar la fila que vamos a iluminar.

NOTA IMPORTANTE: En el esquema no figura la conexih  

n del PIN 9 (RESET) dele  

4HC164N

Page 27: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 27/35

 

a +V, aunque si está contemplado en el diseño del PCB. Ese pin DEBE estar a +V para que el

circuito funcione.

El cable plano

Para enviar los datos desde la placa de control a la ³placa de video´ se utilizo un cable plano de

10 vías, con fichas en los extremos muy parecidas a las empleadas para conectar unidades de

CD-ROM dentro de la PC, pero más pequeñas. Hay que tener cuidado que al armar el cable

las fichas no queden invertidas, y las señales de un extremo terminen siendo un espejo de las

aplicadas en el otro.

Dado que los conductores de este cable son muy delgados, para evitar problemas se utilizaron

dos cables de más seccii  

n para llevar los 5V de alimentacii  

n hasta esta placa. Hay que tener 

en cuenta de conectarlos con la polaridad correcta para evitar destruir algún componente.

ista de componentes

1 porta fusible y fusible de 1 A.

1 transformador dep p  

0V a 6V, 1 A.

1 puente de diodos de 1 A

1 regulador q  

Mr  

805

p  

capacitores cerámicos de 100 nF

p  

capacitores cerámicos dep p  

pF

1 capacitor electrolítico dep p  

0uF/16V

1 dip-switch de 4 interruptores en formato DIq  

 

1 diodo 1N4148

1 transistor BC54r  

B

r  

transistores BCs p  

r  

 

Page 28: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 28/35

 

1 cristal de 4 MHz.

1 resistencia det t  

K

1 resistencia deu  

Ku  

 

4 resistencias de 10K

v  

resistencias de 1K5

t u  

resistencias det t  

0 ohms

u u  

4 leds rojos det  

mm

1 microcontrolador PIC 16F6u  

8A

4 Registros de desplazamientov  

4HC164N

u  

0 cm. de cable plano de 10 vías y dos fichas

t  

borneras deu  

contactos, para circuito impreso

Varios: zw  

calos para los integrados, pines de bronce, circuito impreso virgen de una sola

cara.

PCBs

Son necesarias tres placas de circuito impreso para este proyecto, cuyos diseños son los

siguientes:

Placa de control.(Descargar en PDF)

Page 29: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 29/35

 

 

Placa de "video".(Descargar en PDF)

Placa del display.(Descargar en PDF)

El Software

Programaci n

Si bien la construccix  

n de este proyecto es un poco mas compleja que otros encarados antes,

la parte del software es la que seguramente nos costara mas trabajo, pero los resultados bien

valen la pena. Hemos adjuntado el listado correspondiente al programa que genera el texto

³POWER´ para que sirva de ejemplo, pero la idea es que cada uno realice su propio software

utilizando como punto de partida las ideas y datos que expondremos a continuacix  

n.

Como dijimos antes, la pantalla esta formada por una serie de filas y columnas.y  

a interseccix  

n

entre ambas contiene uny  

ED. Para que este encienda, tiene que recibir simultáneamente un

³0´ en la fila, y un ³0´ en la columna. Cuando se dan estas condiciones, la electr x  

nica de la

³placa de video´ se encarga del encendido.

y  a forma de generar un mensaje sobre el display es relativamente sencilla, si nos atenemos al

siguiente algoritmo:

1) Apagar todas las filas, escribiendo un 1 en PORTB.0 y PORTB.�  

al�  

 

�  

) Escribir los valores correspondientes a la primer fila en el registro de desplazamiento,

teniendo en cuenta que el primer digito binario colocado corresponde al ultimoy  

ED de la

fila, y el ultimo en poner al de la primer columna.

Page 30: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 30/35

 

 �  

) Poner un ³0´ en la primer fila (PORTB.0 = 0), esperar un tiempo, y volver a apagarla con

PORTB.0 = 1.

4) Repetir los pasos para las filas�  

a�  

.

�  

os tiempos de demora que utilizamos en el programa de ejemplo permiten una visualizaci�  

ncorrecta, sin molestos parpadeos y con los

�  

EDS brillantes. Hay que tener en cuenta que si

utilizamos tiempos mayores para el encendido de cada fila, el brillo de los�  

EDS será mayor,

pero también aumentara el parpadeo. No utilizamos vectores ni otras alternativas que hubieran

servido para crear un c�  

digo mas compacto, buscando la claridad del programa, para que

pueda servir como base a otros mas completos/complejos.

El registro de desplazamiento

Vamos a detenernos un momento para explicar como se introducen los datos en el registro de

desplazamiento.�  o primero a tener en cuenta es que los datos deben entrar de izquierda a

derecha, es decir, el primer dato que introduzcamos sera ³empujado´ por los que vienen detrás

hasta llegar a la ultima columna. En segundo lugar, hay que saber (recomendamos la lectura

de la hoja de datos del�  

4�  

S164N) que el dato ingresa al registro en el momento que se

produce la transici�  

n de ³0´ a ³1´ del pulso de C�  

OCK, por lo que se deberán seguir los

siguientes pasos para ingresar cada uno de los�  

�  

valores correspondientes a cada fila:

1) Fijar el valor del dato a escribir (si DATA es 1, hacer PORTA.1 = 1, si no PORTA.1 = 0)

�  ) Esperar un par de microsegundos (WaitUs

�  )

�  

) Poner la línea de C�  

OCK en estado bajo (PORTA.0 = 0).

4) Esperar un par de microsegundos (WaitUs�  

)

5) Poner la línea de C �   OCK en estado alto (PORTA.0 = 1). En este punto el dato entra

efectivamente en el registro de desplazamiento.

6) Esperar un par de microsegundos (WaitUs�  

)

�  

) Fin

�  os tiempos de demora de dos microsegundos funcionan, pero se puede experimentar un poco

con ellos, dado que según la hoja de datos la frecuencia máxima de trabajo del�  

4�  

S164N es

Page 31: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 31/35

 

de�  5MHz., por lo que demoras menores deberían trabajar bien. Con estos tiempos, la

escritura de los� �  

bits de una línea demora unos�  

50 microsegundos, tiempo más que

aceptable. En el c�  

 

digo fuente se puede ver que por cada línea a escribir en la pantalla se

utiliza un bloque como el siguiente

 

aux = %0010001011111001

Gosub escribo

aux = %0100011100000010

Gosub escribo

Fila1 = 0

WaitMs 2

Fila1 = 1

Goto loop

End

Básicamente, se llama dos veces a la subrutina ³escribo´ que comentaremos en un momento,

con 16 bits en la variable ³aux´.

�  uego se enciende la fila escribiendo un ³0´ en el pin apropiado, se esperan un par de

milisegundos, se apaga escribiendo un ³1´, y se pasa a la fila siguiente.�  

a subrutina escribo se

encarga de procesar el contenido de la variable ³aux´, bit por bit, viendo si son ³0´o ³1´ y

escribiendo el dato correspondiente en el registro de desplazamiento.�  

a instrucci�  

n ³aux =

Shift�  

eft(aux, 1)´ se encarga de rotar los 16 bits de la variable a la izquierda, para tomar el bit

siguiente.

C digo fuente

 A continuaci�  

n, el c�  

 

digo fuente de ejemplo, en BASIC del PIC SIMU�   ATOR IDE.

'

 

----------------------------

'Programa de ejemplo display 7x32

'Texto fijo: POWER

'

'PIC: 16F628A - 4Mhz XTAL, SIN RESET

'

'----- CONFIGURO PUERTOS-----

PORTA = 0

CMCON = 7 'Configuro PORTA como Digital I/O

'

'Configuro el portA:

TRISA.0 = 0 'Salida CLOCK

TRISA.1 = 0 'Salida DATA

Page 32: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 32/35

 

TRISA.2 = 1 'Entrada Dip 0

TRISA.3 = 1 'Entrada Dip 1

TRISA.4 = 1 'Entrada Dip 2

TRISA.5 = 1 'Entrada Dip 3

''Configuro el portB:

TRISB.0 = 0 'Salida (Fila 1)

TRISB.1 = 1 'Entrada RS -232

TRISB.2 = 0 'Salida (Fila 2)

TRISB.3 = 0 'Salida (Fila 3)

TRISB.4 = 0 'Salida (Fila 4)

TRISB.5 = 0 'Salida (Fila 5)

TRISB.6 = 0 'Salida (Fila 6)

TRISB.7 = 0 'Salida (Fila 7)

'

'Simbolos

Symbol clock = PORTA.0

Symbol data = PORTA.1

Symbol fila1 = PORTB.0

Symbol fila2 = PORTB.2

Symbol fila3 = PORTB.3

Symbol fila4 = PORTB.4

Symbol fila5 = PORTB.5

Symbol fila6 = PORTB.6

Symbol fila7 = PORTB.7

clock = 0

data = 0

'

'Declaracion de variables

Dim col As Byte

Dim aux As Word

'

PORTB = 255 'Apago todas las filas antes de comenzar

'

'---------BUCLE PRINCIPAL------------

Loop:

aux = %0001111011111010

Gosub escribo

aux = %0010011100011110

Gosub escribo

fila1 = 0

WaitMs 2fila1 = 1

'

aux = %0010001000001010

Gosub escribo

aux = %0010100010100010

Gosub escribo

fila2 = 0

Page 33: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 33/35

 

WaitMs 2

fila2 = 1

'

aux = %0010001000001010

Gosub escriboaux = %0010100010100010

Gosub escribo

fila3 = 0

WaitMs 2

fila3 = 1

'

aux = %0001111000111010

Gosub escribo

aux = %0010100010011110

Gosub escribo

fila4 = 0

WaitMs 2

fila4 = 1

'

aux = %0000101000001010

Gosub escribo

aux = %1010100010000010

Gosub escribo

fila5 = 0

WaitMs 2

fila5 = 1

'

aux = %0001001000001001

Gosub escribo

aux = %1100100010000010

Gosub escribo

fila6 = 0

WaitMs 2

fila6 = 1

'

aux = %0010001011111001

Gosub escribo

aux = %0100011100000010

Gosub escribo

fila7 = 0

WaitMs 2

fila7 = 1'

Goto loop

'

End

'

'Subrutina que llena el registro de dezplazamiento

escribo:

Page 34: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 34/35

 

For col = 1 To 16

If aux.15 = 0 Then

data = 1

WaitUs 2

clock = 0WaitUs 2

clock = 1

WaitUs 2

Else

data = 0

WaitUs 2

clock = 0

WaitUs 2

clock = 1

WaitUs 2

Endif

aux = ShiftLeft(aux, 1)

Next col

Return

Downloads

Desde este link puedes bajar el archivo HEX correspondiente al c�  

digo BASIC anterior.

 Algunas ideas

Conexi n con la PC

El PIC16F6 �   8A dispone de un puerto RS- � � �   incorporado, con capacidad para recibir y

transmitir datos, pero maneja solo niveles TT�  

, por lo que se incluyeron un par de resistencias,

un diodo y un transistor para adecuar el nivel de la señal proveniente del puerto de la

computadora a valores ³digeribles´ por el PIC.�  

a funci�  

n de los 4 dip-switches conectados a

los pines 1,�  ,

�  y 4 tienen como objetivo permitir asignar un numero del 0 al 15 (en binario) a

cada placa. Esto permitiría conectar 16 placas iguales (cada cual con su pantalla de�  

x� �  

),

donde cada una representaría el dato que esta dirigido a ella, para lograr un display total de�  

x51�  

pixeles (aunque habría que soldar«.�  

584�  

EDS!)

En caso de utilizar la interfaz con la PC, hay que construir un cable de conexi�  

n, un programa

en Visual Basic u otro lenguaje que envíe los datos por el puerto serie, en tramas compuestas

por ejemplo por un byte de direcci�  

n (a que placa de las 16 corresponde el dato), y 4 bytes con

el mensaje en si. Desde el lado del PIC, el software debería incluir la capacidad de discriminar 

los mensajes enviados a el (en funci�  

n de la posici�  

n de los dip-switches) y representar los

caracteres en la matriz.

Page 35: Como Hacer Un Cartel de Led

5/9/2018 Como Hacer Un Cartel de Led - slidepdf.com

http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-559bf8c960911 35/35

 

Más y más ideas

Por supuesto, es imposible incluir aquí la explicaci�  

n de todo lo que se puede hacer utilizando

como punto de partida este proyecto, pero descartamos que los lectores modificaran el

software (y por que no el hard!) para lograr atractivas marquesinas.

�  o más obvio para atacar es la comunicaci

�  

n con la PC. Esto permite una gran flexibilidad a la

hora de escribir nuevos mensajes, ya que si no hay que reprogramar el PIC cada vez que

queremos mostrar un mensaje nuevo. Por supuesto, esto implica crear tablas con la definici�  

n

de cada carácter, recibir y analizar los mensajes que entren por el puerto RS-� � �  

, y por ultimo

mostrarlos en la pantalla. Un verdadero desafío.

 Algo más sencillo pero igualmente útil es el implementar rutinas de scroll. Si bien el programa

para ello no es trivial, se puede encarar cargando en una matriz los ³0´ y ³1´ que representan la

totalidad del mensaje a mostrar, y luego ir desplazándose por ella a medida que se muestran

los datos en la pantalla.

Un scroll vertical se puede hacer fácilmente rotando los datos de cada fila, el de la 1 a la�  

, la�  

 

a la�  

««..y la  

a la 1.

En lo particular, cuanto disponga de un rato de tiempo, voy a utilizar este display como pantalla

de un reloj/term�  

metro. Haré una nueva placa para el PIC, cambiando los dip-switchs por 

pulsadores para ponerlo en hora y un sensor de temperatura one-wire DS18�  

0. Se va a ver 

bien sobre el banco de trabajo.