Está en la página 1de 18

Matriz de LED 8X8

Una de las bsquedas en la Web que siempre


nos entrega 50 mil pginas dedicadas al tema es
la que nos ensea a construir una sencilla matriz
de LEDs de al menos 8 LEDs por otros 8 LEDs
(ancho por alto). Uno se pregunta a veces cmo
puede ser posible que habiendo tanta
informacin al respecto la gente siga
consultando cada da sobre cmo realizar este
tipo de carteles. En funcin de esta inobjetable
necesidad de realizar y comprender la manera
en que se hacen estos sencillos letreros
luminosos, te
presentamos
una nueva
visin y
perspectiva de
cmo llegar a
lograr la
construccin de un pequeo y til pasa-
mensajes (Scroll-Text), sin abandonar en el
intento.

Antes de comenzar cualquier intento de construccin, debemos tener en claro cules son las
posibilidades ciertas que tendremos de materializar y finalizar con xito un proyecto. Por ejemplo, nuestro
proyecto de vida puede ser algn da realizarnos profesionalmente como instructores de surf en cualquier
playa paradisaca de Hawaii. Entre los elementos indispensables debemos contar con: vivir en Hawaii,
tener una contextura fsica gil, liviana, y atltica, hablar al menos unas pocas palabras en el idioma local,
tener un peinado donde prevalezcan las rastas y, por supuesto, tener al menos una tabla de surf (propia,
si es posible).

Para construir una matriz de LEDs sucede algo muy similar. Si no logramos juntar todos los elementos
mnimos e indispensables, es intil abrir un post en cada foro de electrnica que encontremos o enviarle
un correo a cada persona que ha construido una, esperando que alguno nos ofrezca soluciones
milagrosas y mgicas. Debemos obtener primero los materiales. Todos los materiales. Por qu
hacemos hincapi en esto? Porque para muchos que anhelan tener un letrero funcional, se les disparan
las ambiciones al saber la cantidad de LEDs que deben comprar y el inevitable costo que ello supone.
Adems, la complejidad del circuito y las eternas dudas que siempre existen acerca de cmo se debe
organizar un programa dentro del microcontrolador hacen naufragar hasta al ms valiente.

Vista trasera de nuestro desarrollo. Te anotas?
En este artculo intentaremos echar un poco de luz sobre el tema (un poco ms de la que ya hay) y te
propondremos un circuito sencillo, ampliable y, como siempre, didctico. Por todo esto, lo primero que
debemos tener en claro es que slo vamos a construir una matriz de 8 X 8 LEDs y que luego vendrn las
enormes marquesinas al mejor estilo Las Vegas. Pero comenzaremos por lo ms bsico. En este
mbito inicial y de planteamientos sobre cmo deseamos ver materializado el proyecto final, una de las
decisiones iniciales ser la opcin entre una matriz comprada hecha y lista para usar o si la
construiremos nosotros mismos con LEDs individuales. Las imgenes pueden ilustrarnos las diferencias
muy claras y conocidas entre una y otra.

Matri z 8 X 8 compacta e i ntegrada

Matri z de construcci n artesanal con LEDs i ndi vi dual es
En lo que refiere al funcionamiento, ambos sistemas podrn desempearse de manera aceptable y con
un resultado acorde a la programacin del microcontrolador que se utilice para activarlos. En cambio,
desde el punto de vista constructivo, las diferencias son notables y lo que se torna favorable en
algunos casos puede ser perjudicial en otros. Por ejemplo: el diseo compacto, la facilidad de
conexin y el rendimiento deseado son factores que inclinan la balanza hacia el mdulo integrado de 64
LEDs que aparece en la imagen izquierda. Sin embargo, cuando necesitamos un tamao no
convencional o fuera de los estndares de fabricacin, la construccin a partir de LEDs individuales pasa
a ser una necesidad. Adems, el menor costo es otro de los factores que inciden en la eleccin. Y sea
cual sea dicha eleccin, lo que debemos hacer es saber a ciencia cierta cmo se trabaja con estas
pequeas pantallas transmisoras de informacin. Es decir, debemos saber de antemano qu estamos
buscando.

Organizacin de la matriz por filas y columnas
Mostrando una imagen.
Para visualizar un caracter, mostrar un pequeo dibujo u ofrecer cualquier smbolo en la pantalla,
debemos desmenuzar el anlisis de funcionamiento y, de esa manera, comprenderemos el concepto
esencial que rige la mecnica de estos displays grficos. Tomando como ejemplo una letra, la letra R,
debemos armar inicialmente un mapa dentro de la matriz de cmo queremos que se vea o grafique lo
que estamos queriendo mostrar. Es decir, debe existir un trabajo previo, un trabajo duro y a veces
tedioso (pero necesario) para lograr llevar a la pantalla la imagen deseada. Todas las letras del alfabeto,
todos los nmeros y smbolos a mostrar deben planificarse (mapearse) previamente para que al llegar
el momento de la programacin del microcontrolador, slo sean necesarios un par de simples
movimientos y formar as el grfico que deseamos presentar.

Nombres da las variables que utilizaremos en la programacin y el modo en que actuarn en la matriz
Tal como se puede apreciar en el grfico siguiente, la letra R ser la representacin de la cadena de
valores 0, 0, 127, 76, 72, 74, 49 y 0. Estos valores sern enviados a la matriz mediante las filas (8 bits),
colocando cada valor en la columna correspondiente. Repitiendo el proceso de colocar cada fila en su
respectiva columna muchas veces por segundo, tendremos la impresin de estar observando una
imagen esttica y fija, siendo que en realidad los datos ingresan por las filas, se visualizan en la columna
correcta y se apagan. Luego ingresan otros datos en un nuevo ciclo del programa, se visualizan en la
columna correcta y se apagan. El ciclo se repite una y otra vez hasta completar el smbolo deseado,
como dijimos antes, muchas veces en un segundo, lo que nos dar la sensacin visual de que
permanece siempre fijo all.

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

Del dicho al hecho.
Como vimos, iniciaremos el trabajo partiendo de una matriz que sea capaz de representar visualmente
los smbolos que deseamos mostrar. En nuestro caso, hemos construido una matriz de 8 LEDs por lado.
Pero si lo deseas, puedes reducir el tamao a 7 LEDs de alto por 5 de ancho y seguirs visualizando sin
problemas caracteres del alfabeto, nmeros, smbolos de puntuacin y cualquier grfico elemental que
sea capaz de verse en esa mnima resolucin.

Vista frontal de nuestro panel de LEDs
La conexin de los 64 LEDs que componen la matriz es una de las partes ms tediosas del
montaje. Debes armarte de mucha paciencia y calma, ya que trabajar bajo presin o con los tiempos
muy acotados te pueden llevar a un error involuntario que signifique desarmar todo y volver a empezar.
Por lo tanto, nuestra recomendacin es que admitas en tu mente la necesidad de quemar toda una
jornada de trabajo en el armado de la matriz para luego no estar buscando posibles fallas que sern muy
difciles de encontrar.

La etapa ms tediosa: soldar los 64 LEDs formando las filas y columnas
Las conexiones son muchas y las posibilidades de error se multiplican, por lo que ser necesario poner lo
mejor de nuestra paciencia en esta parte del desarrollo. La situacin puede simplificarse si
construimos un circuito impreso de doble faz y diseado en forma especfica para esta aplicacin. Pero
los costos de una buena placa doble faz con agujeros metalizados (conduccin de un lado a otro de la
placa), el tiempo que se pueda demorar en el diseo de la mencionada PCB, sumado al tiempo que
podemos demorar utilizando una placa experimental, pueden acumular escollos que por lo general se
resuelven de manera prctica utilizando las placas impresas experimentales, como vemos en la
fotografa superior. Visto el diagrama esquemtico de conexiones de los LEDs, quedara de la forma que
te mostramos en el siguiente grfico:

Conexiones que forman una matriz con sus filas y columnas
El correcto armado de la matriz es el punto clave en la construccin de un cartel de LEDs. Si te
equivocas en la conexin o posicin de alguno de los LEDs, puedes pasar horas hasta descubrir el
origen de la falla. Por esto, adems de la atencin que te recomendamos en el armado, es muy saludable
que una vez concluido el montaje compruebes con un multmetro de aguja el correcto funcionamiento de
todos y cada uno de los 64 LEDs que componen la matriz. Obviar este paso puede significar ms
adelante un dolor de cabeza al no saber con certeza si la falla estar en la matriz de conexiones o en los
circuitos de activacin de los LEDs. Por lo tanto, la recomendacin es esta: ir por pasos y controlar
muy bien todo lo que se est realizando. Una correccin a tiempo puede significar el ahorro de horas
de estancamiento en el trabajo.

Una sencilla cubierta protectora mejora la visibilidad final
Si utilizas una matriz comprada y armada, solamente reducirs tu trabajo a determinar el pinout de la
misma (donde est cada conexin de cada LED) y colocarle o no al frente del montaje una cubierta
protectora para que no se vean los espacios entre LEDs y para que aparezca como un frente ciego que
slo se iluminar al momento de funcionar. En nuestro caso, por utilizar dispositivos del tipo water clear,
necesitamos colocarle un plstico en su parte frontal para aplacar un poco el reflejo de la luz ambiente en
el cuerpo plstico de cada LED. Adems, este mtodo de colocar un material semi-translcido delante de
los LEDs nos permitir trabajar con tasas de refresco (los tiempos de encendido/apagado de los
LEDs) ms lentas y eso traer consigo un mayor brillo final obtenido con una mejor apreciacin del
mensaje.

Paso a paso, conectando cada LED.
Para la realizacin de este diseo, utilizaremos un PIC 16F876A del que dispondremos de los puertos B
y C para activar las filas y columnas de la matriz, respectivamente. Podramos haber utilizado el clsico
registro de desplazamiento que utiliza la mayora para emplear as un PIC ms pequeo y a travs de
l/ellos movilizar las columnas. Pero quisimos hacer un montaje diferente para que puedas ver otra
opcin y evaluar la ms conveniente a tus necesidades. Adems, el hecho de utilizar otro tipo de circuito
te permitir ver desde otro ngulo el funcionamiento de estos desarrollos. Y quizs de este modo puedas
comprender mejor su funcionamiento.

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

Circuito simplificado de excitacin de un LED dentro de la matriz
El grfico superior te muestra de manera simplificada la conexin de uno de los 64 LEDs que componen
la matriz. Es un ejemplo genrico de seleccin de una de las 8 filas y una de las 8 columnas. Cualquier
combinacin de esta naturaleza energizar un nico LED. Esta imagen te demuestra que debemos
colocar un pin en estado BAJO en el Puerto B y otro en estado ALTO en el Puerto C para que los
transistores conectados a ellos se activen y logren encender el LED seleccionado. El resultado final
ser un circuito compuesto por el PIC 16F876A (tambin puedes utilizar un 16F873A), trabajando con un
cristal de 12Mhz, un driver ULN2803A, algunas resistencias y un circuito de alimentacin que te permite
trabajar con batera o con entrada de tensin externa.

Circuito propuesto para nuestra matriz (clic para ampliar)
La inclusin y posicin de los diodos 1N4007 en el circuito sirve para proteger la unidad ante
accidentales inversiones de polaridad que puedan daar el PIC. Por otro lado, la variacin en el valor
de las resistencias de 220 Ohms significar una alteracin en el brillo obtenido en el cartel. Es decir,
podemos colocar hasta resistencias de 56 Ohms en esos lugares sin provocar problemas funcionales.
Pero debemos estar atentos a que elconsumo de corriente subir de manera considerable y esto es un
problema cuando trabajamos con desarrollos pequeos alimentados a batera. En nuestro caso, que
pensamos utilizar el juguete en interiores, no ser necesaria tanta intensidad luminosa. Pero si t en
cambio deseas utilizar la matriz en espacios abiertos, la luz de un da de solpuede molestar la adecuada
visin. En estos casos, bajar el valor de las resistencias y ensayar otras velocidades de refresco te
servirn para adecuar el brillo de la matriz a tus necesidades.


En la prxima entrega, comenzaremos a desarrollar el programa dentro del PIC y a analizar cmo
podemos lograr una buena imagen esttica para utilizar la matriz como indicador luminoso tipo baliza de
emergencia y tambin veremos cmo lograr textos con desplazamientos para poder emplearlo como
cartel pasa-mensajes. Adems, veremos la posibilidad de programar efectos visuales, por ejemplo, que el
texto se caiga o se desplace hacia arriba. Vale aclarar en este punto lo que mencionamos al
principio: no estamos inventando la rueda, ni develando el misterio de las matrices de LEDs, sino
que estamos mostrando otro modo de construirlas. Puede ser mejor o puede ser peor, pero lo importante
siempre ser que a ti te sea til para comprender mejor la teora y tener ms alternativas prcticas de
desarrollo. No te pierdas la segunda entrega de esta construccin donde pondremos al alcance de tu
mano un cartel muy particular y vistoso para adornar el ambiente festivo a la espera del ao que se
avecina.No te lo pierdas!




En la entrega anterior vimos todo el hardware
necesario para crear una pequea matriz de
LEDs que pudiera ofrecer caracteres o smbolos
fijos y, en un avance ms de diseo, mostrar un
mensaje en desplazamiento, dndote la
oportunidad de utilizarlo para mltiples
aplicaciones. La inclusin de un
conector ICSP ser fundamental para grabar
rpidamente el microcontrolador y disponer al
instante de mensajes diferentes con slo
organizar algunas lneas del software necesario
para su funcionamiento. Desde vender un
vehculo, pasando por los clsicos carteles
utilizados en los aeropuertos con el apellido de
una persona a la que se espera y terminando en
un divertido gadget para anunciar las ofertas de
fin de temporada, los carteles pasa-mensajes
estn en el ABC constructivo de todo
electrnico experimentador. Todava no
hiciste el tuyo?









Como mencionamos anteriormente, la construccin del hardware quedar sometida a tu eleccin, gusto y
posibilidad econmica. Como pudiste apreciar en las imgenes, nosotros optamos por LEDs individuales
y montamos nuestro desarrollo en dos placas bien definidas: una exclusiva para los LEDs y otra para el
resto de los componentes necesarios para el circuito. La construccin nos qued cual si fuese un libro
que se puede abrir al medio y dejar al descubierto todas las conexiones. Este mtodo nos permite
acceder rpidamente a cualquier sector del hardware para realizar correcciones de ltimo momento y
reformas que con el tiempo se nos ocurra realizar sobre la construccin inicial. Adems, la fabricacin
realizada sobre placas universales pre-agujereadas facilita an ms la tarea de modificacin, ampliacin
y correccin del diseo.
El Hardware utilizado en detalle
En la imagen puedes ver claramente las partes fundamentales que componen el hardware que hemos
decidido montar, con sus componentes ms destacados. Por supuesto que las conexiones del lado
soldadura se presentan en todos estos casos con visibles signos de una aparente falta de prolijidad.
Eso no debe ser un condicionante a la hora de la construccin ya que no ests fabricando un instrumento
de electromedicinani el mdulo principal de un satlite de aplicaciones militares. No. Estamos
aprendiendo, practicando, ensayando, transitando el camino de la experimentacin y el desarrollo
amateur. Ser fantstico y muy bienvenido que puedas construir tus propios circuitos impresos de doble
faz en FR4, con mscara antisoldante y agujeros metalizados, pero debes considerar tambin que hay
personas que recin estn aprendiendo a soldar y se entusiasman con estos proyectos o estn aquellos
casos en que los recursos econmicos y los conocimientos son escasos para llevar a buen trmino una
placa doble faz como debiera emplear este desarrollo.
Los
grupos de cables estn muy bien definidos. Observa la imagen con detenimiento y notars la simpleza del montaje
Los grupos de cables estn muy bien definidos e indicados en la imagen superior, donde se pueden
identificar los correspondientes a las columnas, las filas, la conexin desde elpuerto C del PIC hacia
el ULN2803A, los cables de alimentacin y los que llevan la informacin de las filas desde el puerto
B hacia los transistores. De forma menos visible, por detrs de las conexiones de las filas, se encuentra
la lnea de conexin de laalimentacin con el 7805, los capacitores de filtrado (electrolticos) y
desacoplo (cermicos), la llave interruptora de alimentacin y los diodos de proteccin contra la
inversin de polaridad. Esto es tanto para la alimentacin desde la batera como para la entrada de
energa desde alguna alimentacin general (12 Volts del coche) o desde una fuente conectada a la red
domiciliaria.


La matriz armada, vista desde atrs
Como dato final, antes de dedicarnos de lleno a experimentar con el software, te recomendamos instalar
el microcontrolador sobre un zcalo de modo tal que puedas extraerlo fcilmente para su programacin,
en caso de no disponer de un sistema grabador de PICs que trabaje con el modo ICSP (In -
Circuit Serial Programming). En nuestro caso, con el grabador GTP-USB, lo utilizamos en modo ICSP,
cambiamos lneas de comandos y hacemos muchos ensayos sin movilizar el PIC de su zcalo. Recuerda
que si no realizas la tarea de extraccin y colocacin de manera cuidadosa, puedes romper fcilmente el
zcalo o arrancar un pin del PIC, hecho que lamentars mucho. Finalmente, un precinto plstico para
sujetar la batera a la placa y listo! A programar se ha dicho!

Planteando el software
Un buen planteo previo del programa (es decir, analizar y llevar a un papel las ideas) es una tarea
obligada cuando vamos a desarrollar un software, por ms sencillo que este parezca. Por otro lado,
debemos analizar y contabilizar de antemano el hardware que disponemos y lo que pretendemos de
l. En el ejemplo que nos convoca, podemos deducir de manera muy clara que el puerto B del PIC se
encargar de entregarnos los datos que veremos en cada columna y, por su parte, el puerto C se
encargar de mover y desplazar estos datos a lo ancho de la pantalla hasta el lugar correcto donde
deban ser presentados.

Un smbolo al azar (la letra "R") y su formacin en la matriz
Utilizando la misma imagen de ejemplo del artculo anterior, nos encontramos que para representar la
letra R debemos activar un contador que vaya desde el borde izquierdo de la matriz hacia el borde
derecho y que en la posicin N3 (RC2) nos entregue el valor decimal 127, que saldr desde el puerto B
e ingresar a travs de las filas. Luego, el contador del puerto C avanzar a la siguiente posicin y desde
el puerto B llegar el siguiente dato: el valor decimal 72. De esta forma, el contador del puerto C
avanzar una posicin a la derecha y el puerto B entregar otro dato, uno a uno hasta completar las ocho
posiciones. Este mecanismo, ejecutado muchas veces en un segundo, nos permitir percibir que la
letra R est quieta all y que se forma toda junta y de una sola vez. Sin embargo, el anlisis nos
muestra que lo hace columna a columna a medida que el contador (del puerto C) avanza una posicin.

Formando un caracter, paso a paso (clic para ampliar)
En el siguiente video podemos ver cmo se forma la letra o caracter, paso a paso, con cada incremento
de la salida del puerto C. En el caso de las posiciones en que no existen LEDs encendidos (segn el
ejemplo mostrado hasta aqu), dentro de la rutina preparada especialmente para crear el video, se
han colocado datos en la posicin 128 del puerto B, es decir, en el LED superior correspondiente a cada
columna no utilizada (0,1 y 7). El propsito es saber en todo momento la actividad del puerto C.
Conocer qu valores toma a cada paso y las columnas que atraviesa mientras no presenta datos tiles
en la matriz. Cuando el puerto B entrega datos, estos se muestran en la columna correspondiente. La
variacin de velocidad mostrada ser fundamental para descubrir lo que an no habas comprendido
acerca del funcionamiento de esta matriz.


El programa
Lo elemental, entonces, es dividir el trabajo en tres bloques que deben estar perfectamente
sincronizados: crear un contador para que el puerto C avance desde el inicio (a la izquierda de la
matriz) hasta el final (a la derecha de la matriz), a cada paso del contador del puerto C; entregar por el
puerto B los datos correspondientes a cada columna; y por ltimo, ajustar los tiempos del programa para
obtener un funcionamiento correcto sin parpadeos molestos y simulando tener una imagen esttica y fija.
Al contador de columnas lo resolveremos mediante un lazo FOR NEXT de 8 ciclos, mientras que a la
obtencin de los datos a entregar por el puerto B ser mediante el conjunto de
instrucciones DATA, RESTORE y READ.

Naturalmente, al inicio definiremos el PIC a utilizar con la frecuencia del oscilador. Si deseas utilizar otros
modelos como el 16F877A o el 16F873A, debes corregir esta primera lnea, al igual que si optas por otra
frecuencia de cristal. Yo utilic estos componentes porque los tena a mano; t puedes utilizar y
experimentar con otros mientras se respete el circuito y el principio de funcionamiento. Luego declaramos
las variables, como siempre en todo programa, y llegamos al lazo principal en la etiquetaInicio, que es
donde comienza la parte interesante del sistema.
Con slo este pequeo listado, aparecer la letra "R" fija en la matriz
Lo primero es iniciar el lazo FOR - NEXT para saber qu dato deberemos ir a buscar a la
instruccin DATA en cada vuelta del ciclo. Observa que la mencionada instruccin posee los ocho
valores que utilizaremos para formar el carcter seleccionado (la letra R). Entonces, para un valor inicial
de cero en la variable CONTADOR, el puntero RESTOREnos indicar que debemos tomar el primer valor
encontrado en DATA. Este valor se cargar en la variable LETRA mediante la instruccin READ. Una
vez obtenido el dato, ya sabemos que la variable A tiene un valor inicial igual a 1 y eso se cargar a la
salida del puerto C. Como cada transistor darlington del ULN2803A se activa con un estado alto, se
activar directamente la salida PORTC.0 en estado alto. Recordemos que en BASIC escribir 1
y %00000001 en el puerto es exactamente lo mismo; una forma es decimal y la otra binaria pero ambas
se ejecutarn de la misma forma.


Para el caso del puerto B, encontramos el caracter ~ antes de la variable LETRA. Este caracter
especial nos indica que cargaremos sobre FILA (la salida del puerto B) el complemento de los datos
que contenga la variable LETRA. Por qu hacemos esto? Porque a la salida del puerto B
tenemos transistores PNP y estos se consideran activos en estado bajo. Por lo tanto, el dato decimal
127, que sera %011111111, saldr por el puerto B como %100000000 para de esta forma activar los 7
transistores PNP correspondientes a RB0 - RB6.

Luego de esto, incrementamos la variable A multiplicndola por 2 y controlando el momento en que
llegue al final de la matriz (borde derecho) con el condicionante IF THEN. Aplicamos un retardo que nos
permita una visin sin parpadeos y listo! Ya tenemos nuestra matriz funcionando y mostrando un
caracter (la letra R).

Comienza el juego
Lo primero ser hacer intermitente en el tiempo el carcter exhibido. Es decir, podemos crear un dibujo
con el smbolo de STOP o PARE que funcione de forma intermitente para utilizarlo como baliza en el
coche, o tambin puedes crear un grfico con forma de corazn y hacer que funcione en forma
intermitente bajo una camisa semi-traslcida para demostrarle a tu chica que el corazn te late por ella.
Es decir, para entretenerse hay miles de ideas posibles, veamos cmo lograrlo.

Un corazn es un factor sorpresa que nunca falla al igual que una flor. Creer o reventar
La realizacin de todo lo que quieras mostrar se basa fundamentalmente en la construccin de los mapas
de bits que se aplicarn en la instruccin DATA. Luego, haremos una secuencia FOR NEXT para
mostrar el smbolo y otra ms para no mostrar nada en la salida del puerto B. Tambin puede ser una
buena idea diagramar un corazn ms pequeo para simular una variacin de tamaos entre ciclo y
ciclo. T elijes, ellas se rinden a tus pies.


De manera muy sencilla, hemos agregado al programa otra secuencia de datos en la instruccin DATA y
adems ahora aparece un contador de tiempo de encendido del smbolo y otro segmento de programa
donde se apagan los puertos y se coloca un retardo de tiempo equivalente al que dura el smbolo visible
pero, en este caso, apagado. Volvemos a destacar la importancia de la imaginacin a la hora de
disear los smbolos y caracteres a utilizar en este tipo de carteles. Una aplicacin inteligente es garanta
de xito asegurado y por qu no una posible fuente de ingresos extras cuando alguien se acerque a
consultarte cunto le cobras por construirle uno.
Listado de programa para visualizar un corazn intermitente
Moviendo el texto
Aqu comienza lo que estabas esperando, aqu comienza la accin de verdad. Para desplazar un texto
dentro de una matriz debemos aplicar todo lo visto hasta aqu y slo moverlo. Cmo se realiza esto?
Muy sencillo. Primero cargas en la seccin de la instruccin DATA todos los datos correspondientes a las
filas que mostrars. Luego generas un incremento de la variable CONTADOR a cada ciclo y, de este
modo, forzars al puntero RESTORE a que lea un nuevo dato para enviar al puerto B. De este sencillo
modo, habrs creado el movimiento en tu matriz.


Observa que la instruccin READ siempre se debe colocar en la parte ms inicial del programa.
Podemos entonces colocar una sola instruccin o varias que correspondan a cada caracter para
mantener ordenado el programa. Adems, cada caracter terminar en un dato igual a cero que ser el
equivalente a dejar un espacio entre letra y letra. Agregaremos ceros para generar espacios entre el fin
y el inicio de una palabra y el resultado ser el siguiente listado de programa que corresponde al video
anterior:

Listado de programa para generar texto en movimiento. Tu primer "Scroll Text"
Conclusin
Al texto que hemos generado le puedes agregar todo lo que la memoria del PIC alcance. Te puedo
asegurar que te vas a cansar de escribir texto y smbolos y nunca lo llenars. Al menos al 16F876A.
Puedes utilizarlo como pasa-mensajes para publicidad, para vender productos, para saludar amigos en
estas fiestas, en fin; para lo que quieras transmitir, all tendrs un nuevo medio para hacerlo.
Recuerda lo sencillo que es: moviendo el puerto C, cargas en forma sincronizada los datos por el puerto
B. Eso es todo. Intuyo que no creas que fuera tan sencillo. Divirtete, juega, experimenta, aprende y,
como siempre, esperamos ver tus logros en video. Te dejamos los programas de los ejemplos vistos
en el artculo y un .TXT con un listado de letras y smbolos prearmados para que no pierdas tiempo y
comiences cargar tu matriz hoy mismo.Felicidades!
Descarga: Letra "R" formndose
Descarga: Corazn ganador
Descarga: Scroll-Text NeoTeo
Descarga: Archivo TXT con un alfabeto y caracteres prearmados
Domingo, 17 de Enero de 2010: Una vez ms el amigo Yesbond nos honra y enorgullece a todos los
que hacemos NeoTeo mostrndonos sus logros a partir de los artculos. Gracias Yesbond! Tu trabajo y
los resultados mostrados hacen que valga la pena ofrecer lo mejor de nosotros. Aqu est el trabajo de
Yesbond, ojal t tambin encuentres interesantes los montajes que aqu compartimos y nos enves tus
videos.

También podría gustarte