como hacer un cartel de led
Post on 12-Jul-2015
544 Views
Preview:
TRANSCRIPT
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 1/35
Como hacer un cartel de led
Avisos por Yahoo!
Productos para enmascaramiento MOCAP
Cintas de poliéster y kapton, utilizadas para pintura. Catálogo.
www.mocap.com.mx
Liquidaciones Juguetes
Precios Hasta 90% De Descuento Pormayor. Excelente Para Vendedores.
www.CloseoutsOutlet.com
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.
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 2/35
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 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.
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 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 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.
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 5/35
Encendiendo un LED
En el número 2 de la Revista uControl, en el artículo llamado PICs y LEDs: unapareja 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 (“0”s y “1”s) en el registro de desplazamiento solo hacen falta
tres pines del microcontrolador, independientemente de lo largo que sea.
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 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 “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.
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 7/35
Figura 1.
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 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
“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 utilizar 7 registros de este tipo, la cantidad de circuitos
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 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 primer 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
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 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. Un LED , utilizado en aplicaciones “normales”, se alimenta
con 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 quepermanecerá 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 lo
que 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 mejoralternativa.
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
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 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 doscircuitos 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.
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 12/35
Controlador del cartel.
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 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 memoria
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 eldisplay 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 conmó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.
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 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.
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 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
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 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 “0”s 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
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 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 tiempodeterminado (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áctica eso significa que el
brillo de nuestro cartel será mucho mayor si lo hacemos por filas, ya que cada LEDpermanecerá 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
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 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 seproduce 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)
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 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 = 0clock = 0
WaitUs 1
clock = 1
WaitUs 1
Y un “1” de la siguiente manera:
data = 1clock = 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:
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 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 = 0WaitUs 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
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 21/35
Para animar el texto mostrado en el display hay dos opciones. La primera de ella es
que, una vez que el bitmap de la EEPROM ha sido mostrado en la pantalla,
comencemos a redibujarlo continuamente (si no lo hacemos, el texto desaparecerá
de la pantalla) pero cada un tiempo determinado (1 segundo por ejemplo)
escribimos un bit “0” más en cada fila. Es decir, escribimos 81 bits en el primer
segundo, 82 en el segundo, etc. Esto hará que el texto se desplace de izquierda a
derecha, y es la animación más fácil de implementar. Sin embargo, lo normal es que
los textos de desplacen en sentido contrario, por lo que nuestro programa debería
hacer lo siguiente: comenzar escribiendo 80 “0”s en el registro antes de enviar la
información de la fila, luego escribir 79 “0”s, y así sucesivamente. De esa manera, el
texto al principio no será visible (estará “dibujado” a la derecha, fuera del registrode desplazamiento), y luego a medida que el numero de “0”s escritos va
disminuyendo, comenzara a ser visible, entrando desde la derecha.
La segunda manera es que el software que escribe los datos en la EEPROM guarde
cada “cuadro” de la animación, uno a continuación del otro, y que el PIC se limite a
escribir cada cuadro leído durante (por ejemplo) un segundo. Esto vuelve a facilitar
mucho la programación del PIC, a la vez que permite animaciones mucho más
complicadas. Por supuesto, el precio a pagar es el espacio de memoria EEPROMrequerido para implementar esta técnica.
Matriz de LEDS de 7 filas y 32 columnas.¡Discute, comenta o consulta este tema en el foro uControl!
Introducción
Matriz de LEDS de 7x32
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 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. Los 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.
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ículoes explicar, de forma clara y sencilla, la forma de hacerlo.
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.
Tabla de contenidos
[esconder]
1 Introducción
2 Descripción del proyecto
2.1 “Houston, tenemos un problema”
2.2 Multiplexado
3 El hardware
3.1 Tres Placas
3.2 El cable plano
3.3 Lista de componentes
3.4 PCBs
4 El Software
4.1 Programación
4.2 El registro de desplazamiento
4.3 Código fuente
5 Downloads
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 23/35
6 Algunas ideas
6.1 Conexión con la PC
6.2 Más y más ideas
7 Temas relacionados
8 Autor
Descripción del proyecto
“Houston, tenemos un problema”
Por ejemplo, un PIC16F876A de 28 pines dispone de 22 dedicados a funciones de E/S, y su
hermano mayor, el PIC16F877A que cuenta con un total de 40 pines dedica 33 a estos
menesteres. Habitualmente, con un número así de pines de control es posible resolver
correctamente casi cualquier situació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 LEDs 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 ilusió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 unas 7 filas de alto, y si queremos que el display
muestre unos 10 o 12 caracteres simultáneamente, necesitaremos unas 100 columnas.
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 24/35
Si multiplicamos el numero de filas por las columnas, tendremos el numero de LEDs que hay
presente en un display de este tipo. Con los valores que mencionábamos recién, vemos que se
necesitan 700 LEDs para un display no muy complejo, y de un solo color.
Si nos limitáramos a los medios “tradicionales” para encender o apagar cada LED 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 menos 700 pines, algo que
debemos descartar de plano por que no existe.
Una solució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 programación compleja y un costo
elevado, ya que se necesitan unos 3 PICs por carácter, lo que económicamente no es viable.
La 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 representació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 funció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 duplicación de circuitos y permite
resolver el problema con una fracción de los recursos (pines I/O) disponibles.
En el caso de este proyecto, la pantalla que construiremos esta formada por una matriz de 224
diodos LEDs distribuidos una matriz de 32 columnas por 7 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
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 25/35
tener una altura de 5 o 7 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 hardware
Tres Placas
Por razones de comodidad, el proyecto se distribuyo sobre tres placas de circuito impreso
diferentes. La primera de ellas, encargada de la alimentación, control lógico y la comunicación
con la PC es la que incluye el PIC, corazón del proyecto. Además, en ella se encuentra la
etapa de alimentación, excepto el transformador, llave y fusible que deberán alojarse en el
gabinete que contenga esta placa.
La alimentación esta basada en un regulador de voltaje LM7805, 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ía 32 leds encendidos. Cada LED consume unos
15 miliamperes (5V / 330 ohms = 0.015A), por lo que el consumo de la “pantalla” es de 0.015 x
32 = 480mA, si esto sumamos el consumo del resto de la electrónica, el consumo total ronda
los 600mA. El LM7805 de mi prototipo apenas se entibia sin utilizar disipador.
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 26/35
El PIC se encarga de generar los pulsos de CLOCK y DATOs (pines 17 y 18) que son enviados
a la “placa de video” que es la que tiene los 74HC164N que forman un registro de
desplazamiento. También tiene la posibilidad de conectarse a una PC vía RS-232 (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 incluyeron 7
transistores BC327 para esta tarea.
Se utilizo un cristal de 4MHz y dos capacitores de 22 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 conexión RS-232 la velocidad es un tema delicado.
La 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 CLOCK y los datos provenientes de la
placa controladora vía el cable plano, y energiza las columnas que correspondan. Los
74HC164N se conectan a cada columna a través de una resistencia de 330 o 390 ohms.
Si se quiere aumenta el brillo de los LEDS, pueden reemplazarse por resistencias de 220 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
atención al consumo de corriente total, y posiblemente cambiar los transistores BC327 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 224 diodos LEDs.
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 mediante 7 pequeños
cables que son los encargados de seleccionar la fila que vamos a iluminar.
NOTA IMPORTANTE: En el esquema no figura la conexión del PIN 9 (RESET) del 74HC164N
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 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 sección para llevar los 5V de alimentación hasta esta placa. Hay que tener
en cuenta de conectarlos con la polaridad correcta para evitar destruir algún componente.
Lista de componentes
1 porta fusible y fusible de 1 A.
1 transformador de 220V a 6V, 1 A.
1 puente de diodos de 1 A
1 regulador LM7805
2 capacitores cerámicos de 100 nF
2 capacitores cerámicos de 22 pF
1 capacitor electrolítico de 220uF/16V
1 dip-switch de 4 interruptores en formato DIL
1 diodo 1N4148
1 transistor BC547B
7 transistores BC327
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 28/35
1 cristal de 4 MHz.
1 resistencia de 33K
1 resistencia de 2K2
4 resistencias de 10K
7 resistencias de 1K5
32 resistencias de 330 ohms
224 leds rojos de 3mm
1 microcontrolador PIC 16F628A
4 Registros de desplazamiento 74HC164N
20 cm. de cable plano de 10 vías y dos fichas
3 borneras de 2 contactos, para circuito impreso
Varios: zó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)
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 29/35
Placa de "video".(Descargar en PDF)
Placa del display.(Descargar en PDF)
El Software
Programación
Si bien la construcció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 continuación.
Como dijimos antes, la pantalla esta 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 “0” en la columna. Cuando se dan estas condiciones, la electrónica de la
“placa de video” se encarga del encendido.
La 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.2 al 7
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 ultimo LED de la
fila, y el ultimo en poner al de la primer columna.
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 30/35
3) Poner un “0” en la primer fila (PORTB.0 = 0), esperar un tiempo, y volver a apaga rla con
PORTB.0 = 1.
4) Repetir los pasos para las filas 2 a 7.
Los tiempos de demora que utilizamos en el programa de ejemplo permiten una visualización
correcta, sin 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 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. Lo 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 74LS164N) 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 32 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)
2) Esperar un par de microsegundos (WaitUs 2)
3) Poner la línea de CLOCK en estado bajo (PORTA.0 = 0).
4) Esperar un par de microsegundos (WaitUs 2)
5) Poner la línea de CLOCK 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 2)
7) Fin
Los 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 74LS164N es
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 31/35
de 25MHz., por lo que demoras menores deberían trabajar bien. Con estos tiempos, la
escritura de los 32 bits de una línea demora unos 350 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”.
Luego 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. La 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. La instrucción “aux =
ShiftLeft(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 SIMULATOR 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
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 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 escriboaux = %0010011100011110
Gosub escribo
fila1 = 0
WaitMs 2
fila1 = 1
'
aux = %0010001000001010
Gosub escribo
aux = %0010100010100010
Gosub escribo
fila2 = 0
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 33/35
WaitMs 2
fila2 = 1
'
aux = %0010001000001010Gosub escribo
aux = %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 = %0100011100000010Gosub escribo
fila7 = 0
WaitMs 2
fila7 = 1
'
Goto loop
'
End
'
'Subrutina que llena el registro de dezplazamiento
escribo:
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 34/35
For col = 1 To 16
If aux.15 = 0 Then
data = 1
WaitUs 2clock = 0
WaitUs 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 PIC16F628A dispone de un puerto RS-232 incorporado, con capacidad para recibir y
transmitir datos, pero maneja solo niveles TTL, 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. La función de los 4 dip-switches conectados a
los pines 1,2,3 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 7x32),
donde cada una representaría el dato que esta dirigido a ella, para lograr un display total de
7x512 pixeles (aunque habría que soldar….3584 LEDS!)
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.
5/12/2018 Como Hacer Un Cartel de Led - slidepdf.com
http://slidepdf.com/reader/full/como-hacer-un-cartel-de-led-55a35a2b54d52 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 elsoftware (y por que no el hard!) para lograr atractivas marquesinas.
Lo 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-232, 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 2, la 2
a la 3……..y la 7 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 DS1820. Se va a ver
bien sobre el banco de trabajo.
top related