Vous êtes sur la page 1sur 12

Marquesina Deslizante_____________________________

INSTITUTO POLITÉCNICO NACIONAL


ESCUELA SUPERIOR DE CÓMPUTO

DEPARTAMENTO DE SISTEMAS ELECTRÓNICOS

PRÁCTICA No. 9

Marquesina deslizante
Matriz de Leds

1 Profesor: Carlos Pastrana


Marquesina Deslizante
1.- OBJETIVO

El alumno empleara y manejara un par de matriz de


Led’s de 8x8, ( ó 7x5), investigara su funcionamiento
configuración y metodología para poder emplearla con el fin
de desplegar mensajes programables desplazables, que les
incluirán operaciones de corrimiento y de rotación, así como
funciones de mantener, avanzar y repetir el mensaje
deseado almacenado en un arreglo tipo ROM Física o en
VHDL.

2.- Introducción Teórica

LAS MATRICES DE LED’S

Los LEDs se fabrican en todos los tamaños y formatos imaginables. Las matrices de LEDs (o LED arrays) son,
como su nombre indica, una matriz de diodos LED normales y corrientes que se comercializa en multitud de
formatos y colores. Desde las de un solo color, a las que tienen varios colores posibles, e incluso las hay de una
matriz RGB (los dejo imaginar la de pines que tiene).

En esta sesión vamos a usar una matriz de 8×8 LEDs de un solo color (rojo), para que sirva como
demostración para su manejo y de lo que se puede hacer con este tipo de arreglo. Utilizaremos una única
matriz e iremos arrastrando, letras y símbolos en estos nuevos displays.

La idea, es que como tenemos una matriz de 8×8 podemos dibujar letras y símbolos de la misma manera
similar a, cuando definimos letras en los displays de 7 segmentos pero ahora cada letra estará conformada y
dibujada por 5 columnas y una altura de entre 7 u 8 filas. Es decir, definiendo matrices de puntos para
representar las letras, que luego desplegaremos por el Display 8x8, 5x7.

2 Profesor: Carlos Pastrana


Marquesina Deslizante

Por lo demás, son diodos LED totalmente normales, organizados en forma de matriz, que tendremos que
multiplexar para poder iluminar uno u otro punto Este componente se presenta con dos hileras de 8 pines cada
una, que se conectan a las filas y las columnas.

Si los diodos se unen por el positivo, se dice que son matrices de Ánodo común (El nombre pedante
del positivo) y se une por el negativo decimos que son de Cátodo común.
Dependiendo del fabricante podéis encontrar de ambos tipos.
Si ponemos HIGH en una columna, digamos la 2, no se iluminara nada aun. Pero cuando hagamos LOW en,
digamos la fila 4, se cerrara el circuito a GND (con una resistencia de limitación, por supuesto) y el pin col 2 x
fila 4, se encenderá.

Si alguno creíais que las 8 filas y 8 columnas de la matriz corresponderían a las dos filas de pines, donde una
fila serían las columnas y la otra las filas, lo lógico ¿no?, vais dados. Porque este es uno de esos casos en los
que el fabricante, por razones intraescruturales a los mortales comunes, ha decidido mezclar unas y otras de
forma aleatoria, haciendo poco menos que imposible adivinar cuál es cual sin el manual y convirtiendo el
cableado en una pesadilla.

Así pues, aplicar la regla número uno. Busca el datasheet del fabricante en internet (es más fácil de lo que
crees).

3 Profesor: Carlos Pastrana


Marquesina Deslizante
Así pues vamos con el manual del 1588AS :

Fíjate que aquí lo importantes es, la descripción de la matriz, donde nos habla de filas y columnas, pero sobre
todo nos dice que pines del chip son cada fila y columna. Ya solo nos falta saber cuál de los pines es el uno, y
aquí, yo no he sido capaza de localizar una marca que lo indique, a pesar de que si te fijas, el manual marca
con una cruz el pin 1, pero en mi chip, no he sido capaz de encontrar ninguna marca asimétrica.

Lo que yo he hecho ha sido conectar 5V y GND, con una resistencia de 330Ω, y buscar los pines 13 y 9
correspondientes a la columna 1, fila 1, hasta que el punto 1,1 se encendió. A partir de ahí, el resto es fácil.

Les recomiendo que una vez que lo hayas localizado, vayas conectando el resto de los pines poco a poco y
probando las conexiones.

Otro ejemplo de otro display que viene es un 1388ASR, que es un modelo de Ánodo común, la disposición de
los pines es diferente y su definición es esta:
4 Profesor: Carlos Pastrana
Marquesina Deslizante

Manejador: Led Dot Matrix 8 X 8

En la Figura de abajo se muestra cómo manejar una matriz led con 64 LED (8 filas por 8 columnas - pantalla
de 8x8) o menos, por ejemplo, 35 LED (7 filas por 5 columnas - matriz de puntos 5X7). Manejar un display
de matricial LED de 64 es bastante simple y solo requiere una unidad de matriz de led para más, por
ejemplo, 128 o un multiplicador que puede desarrollar por sí mismo.

Esquema Driver Led Dot Matrix 8 X 8


5 Profesor: Carlos Pastrana
Marquesina Deslizante
Utiliza la persistencia de la visión para permitirle conducir la matriz de 64 led con solo 10 salidas de
microcontrolador o FPGA. Normalmente necesitaría 64 salidas para 64 LED, pero al usar multiplexación y
un chip auxiliar, puede salirse con la suya. 10.
La multiplexación con Display LED simplemente significa encender un LED durante un corto período de
tiempo y hacer esto repetidamente para cada LED.
Si haces esto lo suficientemente rápido, entonces tu ojo no notará ningún parpadeo.

Nota: La unidad utilizada en este proyecto es simplemente una matriz de 64 LED.


Los LED no son diferentes a otros LED, pero ahorran una gran cantidad de soldadura, ya que todo el
cableado se ha realizado por usted.

Contador de anillo
Contador de anillo muy similar al registro de desplazamiento. En cada pulso de reloj, los datos en cada
flip-flop se desplazaron al siguiente flip-flop con la última salida se retroalimenta a la entrada del primer
flip-flop. Además, el primer flop se establece en '1' en el estado de restablecimiento. Por lo tanto, cambie el
bit '1' al siguiente flip-flop para cada entrada de reloj y repita la secuencia como se muestra a continuación.

4-bit Ring Counter using D FlipFlop

Ring Counter Truth Table

6 Profesor: Carlos Pastrana


Marquesina Deslizante
VHDL Code for 4 bit Ring Counter
1
2 library IEEE;
3 use IEEE.STD_LOGIC_1164.ALL;
4
5 entity Ring_counter is
6 Port ( CLOCK : in STD_LOGIC;
7 RESET : in STD_LOGIC;
8 Q : out STD_LOGIC_VECTOR (3 downto 0));
9 end Ring_counter;
10
11 architecture Behavioral of Ring_counter is
signal q_tmp: std_logic_vector(3 downto 0):= "0000";
12
begin
13 process(CLOCK,RESET)
14 begin
15 if RESET = '1' then
16 q_tmp <= "0001";
17 elsif Rising_edge(CLOCK) then
q_tmp(1) <= q_tmp(0);
18 q_tmp(2) <= q_tmp(1);
19 q_tmp(3) <= q_tmp(2);
20 q_tmp(0) <= q_tmp(3);
21 end if;
22 end process;
Q <= q_tmp;
23
end Behavioral;
24
25

VHDL Testbench waveform for 4 bit ring counter

En la forma de onda, el valor de salida cambia como 0001, 0010, 0100, 1000 y repite la misma secuencia en
cada ciclo de reloj.

3.- Material y Equipo Empleado

1 FPGA MachXO2 Lattice


10 Resistores entre 220 y 330 Ω
2 DISPLAY matriciales de 8x8 o 7x5 (Anodo a renglón).
2 ULN2803A (ó 2 ULN2003A).

Varios Protoboards.

7 Profesor: Carlos Pastrana


Marquesina Deslizante
4.- Desarrollo Experimental

a) Diseñe el programa en VHDL del manejador de una marquesina deslizante que


use al menos 2 matrices de leds de 8x8 ó 7x5 que podrá desplegar un mensaje
codificado primeramente por el Alumno el cual se almacenara en un array ROM el
cual permitirá almacenar la información de cada uno de los caracteres.

1. Cada uno de estos caracteres ocupara el tamaño de 7 filas X 5 columnas,


lo que significa que cada carácter ocupara 5 bytes que representaran cada
una de las cinco columnas de cada carácter. Recuerde que dependerá si
son cátodo o ánodo, si los bits que prenderán los Leds son ‘1’ ó ‘0’.

2. El espacio entre cada carácter será de 1 columna y entre las palabras será
de 2 o 3 columnas.

3. Ya que el multiplexaje ahora será por medio de las columnas ya que en


-- un solo momento prenderá solamente una columna a la vez -- y que
cada palabra ocupara 7 filas X 5 columnas, la velocidad de la multiplexion
será recomendada entre 10 a 20 KHZ para refrescar todas las 2 matrices.

4. El tamaño del marco deslizante será de 16 columnas si se emplean


matrices de 8x8 ó serán de 10 columnas si se emplean matrices de 7x 5c
; esto nos permitirá conocer el número de columnas que se repetirán de
forma fija por un tiempo recomendado de entre 0.3 a 0.5 segundos antes
de poder desplazar una columna a la izquierda. Ya que el mensaje
comenzará por la derecha y avanzará cada 0.3 ó 0.5 segundos, una columna
a la izquierda a la vez.
Recuerde que al desplazar las columnas se desplazará la información leída
almacenada en los arrays ROM; una columna por vez.

5. Recuerde que relacionado al punto anterior si se pone en pausa y se


queda congelado el mensaje que se encuentre en ese momento la secuencia
de 16 columnas para 8x8 o de 10 columnas para 7x5 se ciclara de forma
ininterrumpida hasta que la pausa sea eliminada. Esta se controlara
mediante un interruptor deslizable.

6. Para proporcionar la información de las Filas se emplearan 7 terminales y


una sin usar (por el tamaño de la letra 7x5c ) del FPGA, estas salidas se
conectaran de forma directa usando únicamente una resistencia de entre
220 ohms y 330 ohms en cada una de sus terminales.

7. Para las entradas de las columnas, el número de terminales será de entre


16 columnas o 10 columnas dependiendo del tamaño de la matriz empleada
se conectaran mediante jumpers.

8 Profesor: Carlos Pastrana


Marquesina Deslizante

8. Entre estos 8 terminales por Matriz nos dará máximo 16 terminales se


programara un contador de anillo de tamaño entre 16 o 10 columnas. Ver
ejemplo.

9. Las salidas de estos 2 puertos se conectaran directamente a los


ULN2003A o ULN2803A y de allí a las columnas de las matrices de leds.

10. *** NO CONECTE LA FPGA HASTA ASEGURARSE QUE EL


CIRCUITO DE LAS MATIRICES ESTE BIEN CONECTADO *** , Para
eso primeramente se probara de forma manual fijando todas las filas
activadas y seleccionando una sola columna a la vez de forma tal que se
active solo una columna a la vez. Este paso se le deberá mostrar al
instructor antes de probarlo con el FPGA.

11. El Mensaje de prueba a codificar será “_HOLA ESCOM – IPN DSD +”


más una palabra PERSONALIZADA diferente en el mensaje del equipo.
Para ayudar con la codificación se anexa una hoja de calcula de Excel para
que pueda hacer esto de forma más sencilla y fácil.

Para codificar el mensaje se podrá ayudar mediante la hoja de cálculo siguiente que se
anexará en la práctica.

9 Profesor: Carlos Pastrana


Marquesina Deslizante

Tome de ejemplo la imagen para la integración he interconexión en gral. , Verifique


previamente el circuito de forma personal y solicite la validación del instructor antes
de realizar alguna interacción con el FPGA, posterior a esta pruebe de forma
práctica usando la FPGA MachXO2 ya con el circuito.

Para mostrar los caracteres necesitamos definirlos en un arreglo de memoria de bytes, y


aquí se muestran algunos ejemplos. Podemos observar cómo los bits están formando los
caracteres que son en realidad ceros y unos. En este caso, se rotan 90 grados, pero se
sugiere utilizarlos de esta forma para que sea más fácil implementar el proceso
personalizado shiftLeft para desplazar un texto a la izquierda.

10 Profesor: Carlos Pastrana


Marquesina Deslizante

11 Profesor: Carlos Pastrana


Marquesina Deslizante

The ULN2003 has open-collector outputs; they can sink current, but cannot source
current.

When your input pin goes high, the Darlington turns on and begins sinking current.

The diodes in the ULN2003 are being used as reverse-EMF protection diodes.
When your input pin goes low, the output of the Darlington is turned off, so it stops
sinking current. Current flowing through a coil doesn't stop immediately. The diodes
give that current a place to go, instead of building up to very high voltage levels.

These driver chips are considered to be inverters because a high level on the input
causes a low voltage on the output. So does a low voltage in cause a high voltage
out? Well, not exactly. The high voltage is supplied externally, and there's a load
(in this case a motor coil) between the power supply and the chip. The voltage at
the chip's output pin is high when no current flows through the load. When it goes
low, the power supply's voltage is across the load, and current flows.

5.- Observaciones y Conclusiones:

I n d i v i d u a l e s y p o r e q u i p o.

6. - BIBLIOGRAFÍA: Incluya sus referencias.

12 Profesor: Carlos Pastrana

Vous aimerez peut-être aussi