You are on page 1of 8

PROYECTO MATRIZ DE LEDS SENCILLA

1. ESQUEMA GENERAL DEL PROYECTO

P I C

P T O B

PTO A

Fig 1. En una vista general del proyecto los componentes del mismo son el microcontrolador y una matriz de leds ( 7 x 5 ), la cual es controlada por el PIC a travs de sus puertos, el Puerto A ( PTOA ), con 5 pines controla el encendido de las columnas; El Puerto B ( PTOB), con 7 pines controla el encendido de las filas. Veamos ahora, cada componente y su configuracin por separado, para entender como se va construyendo el proyecto y su ensamblaje final. 1.1 MICROCONTROLADOR PIC 16F628A.

Fig 2. Fig 2.

Como podemos ver, los pines 1, 2, 3, 4, 15, 16, 17 y 18 tienen el nombre de RAx. Esos pines conforman el puerto A, (PORTA). Los pines 6 al 13 forman parte del puerto B (PORTB). El pin 5 es el que se conectara al negativo de la fuente de alimentacin (Vss) y el 14 ir conectado a 5V ( Vdd ) ( + Vcc ). Como habrn notado, muchos de los pines tienen ms de una descripcin. Esto se debe a que pueden utilizarse de varias maneras diferentes, seleccionables por programa. Por ejemplo, el pin 4 sirve como parte del PORTA, como RESET (MCLR = Master Clear) y como tensin de programacin (Vpp) No es mala idea descargar desde la web de Microchip la hoja de datos de este microcontrolador (esta en ingls) para tenerla siempre a mano. De acuerdo con la Fig 1, ( Esquema General del Proyecto ), necesitamos utilizar 7 pines del puerto B, para controlar las siete filas de la matriz de leds, esto es, los pines RB0, RB1, RB2, RB3, RB4, RB5 y RB6. Tomaremos en su orden esta configuracin siendo RB0, el pin menos significativo o de menor peso ( Primer led de la primera fila ) y RB6, el mas significativo o de mayor peso ( Primer led de la ultima fila ). 6 7 8 9 P T O Fig 3. B 10 11 12 13 RB0 RB1 RB2 RB3 RB4 RB5 RB6

P I C

Para el control de las columnas necesitaremos los 5 pines del puerto A, esto es los pines RA0, RA1, RA2, RA3 y RA4. Tomaremos en su orden esta configuracin siendo RA0, el pin menos significativo o de menor peso ( Ultimo led de las filas) y RA4, el pin mas significativo o de mayor peso ( Primer led de las filas ); Para este puerto se toma el orden inverso, tal como se hace cuando se escribe una palabra digital en binario, es decir, se lee de derecha a izquierda dicha palabra, esto se hace con el fin de facilitar la escritura de los cdigos binarios que utilizaremos mas adelante.

PIC

PTO A

3 2 Fig 4.

1 18 17

RA4 RA3 RA2 RA1 RA0

Ya tenemos clara la forma como vamos a conectar los pines de salida del micro a el modulo de matriz de leds. Sin embargo para el funcionamiento correcto del pic, se deben incluir ademas de la alimentacin ( Vdd y Vss), es necesario incluir dos circuitos adicionales como son el Oscilador externo y el Circuito de reset, con los cuales, el micro estaria fisicamente listo para conectarse a la matriz de leds. Veamos entonces la configuracin de cada uno de estos circuito auxiliares. 1.1.1 Circuito Oscilador Externo

Fig 5. Este circuito esta compuesto principalmente por un oscilador a Cristal de 4 Mhz, el cual se conecta en paralelo a los pines 15 y 16 del micro. Se utilizan dos capacitores que iteractuan con el oscilador como estabilizadores de la frecuencia, los cuales se conectan hacia tierra desde las terminales del oscilador, tal como lo muestra la Fig 5. 1.1.2 Circuito de Reset El circuito correspondiente a el sistema de reset, es el mostrado en la Fig 6. Compuesto por un pulsador NA ( normalmente abierto ) y una resistencia de Pull UP de 4.7 K, conectada a +Vcc. Estos se conectan al pin 4, tal como lo muestra la figura. Con estos dos circuitos, el Oscilador externo y el circuito de reset; Mas el claro conocimiento de las funciones de cada puerto tendremos nuestra primera etapa del proyecto lista, es decir el micro se encuentra fisicamente ( HARDWARE), listo para entrar en operacin sobre la matriz de leds. Para utilizar los pines del puerto A, se deben utilizar resistencia de Pull UP Fig 6.

Veamos la explicacin para este caso. 1.1.3 El PORTA de los PIC's y una de sus particularidades : RA4 Push-Pull y Open-Drain, dos en uno. Los pines 0 a 3 y 5 del PORTA de los PIC's, en uso como I/O digital, comparte caractersticas similares con los otros puertos del PIC, PORTB o PORTC por ejemplo. Pero debido al uso alternativo del pin 4 del PORTA como External Clock Input para el TIMER0 (T0CKI) este pin tiene una configuracin un tanto especial. En el esquema inferior puede comprobarse cmo estn conectados interiormente ambos tipos de pines. Los "normales" mediante dos transistores Canal-N y Canal-P en configuracin Totem-pole conectados a Vdd y Vss, mientras que el RA4, el "raro", solo tiene implementada la parte inferior del Totem-pole, y por lo tanto desconectado del Vdd. A esta ltima configuracin se le conoce como Open Drain u Open Collector (Colector Abierto en Espaol)

Fig 7. RA0:RA3 & RA5, los "normales" Cuando el bit del TRIS es 1 y la puerta AND inferior tiene su salida a 0 entonces la puerta OR superior tiene su salida a 1. En esta situacin ninguno de ambos transistores, TRP y TRN, conducen y por lo tanto el PIN est aislado del flip-flop de datos. El PIN est en estado de input. Cuando el bit del TRIS es 0 entonces el estado complementario (negado) del flip-flop de Datos es inyectado (gated) a ambos transistores: Cuando Data es 0 entonces TRN conduce y TRP no, dndole al Pin una salida de 0; cuando Data es 1 entonces es TRP quien conduce y TRN no lo hace y por lo tanto el Pin tiene un 1 en su salida. En esta sitacin el Pin sigue el estado del flip-flop de datos. La fuente de corriente se obtiene a travs de la relativamente baja resistencia del transistor activo. Esto nos proporciona un mximo absoluto de 20 a 25 mA.

RA4, el "raro" Cuando el bit del TRIS es 1 entonces la salida de la puerta AND es 0 y por lo tanto TRN no conduce, teniendo su salida a alta impedancia. RA4 est en estado de input. Cuando el bit del TRIS es 0 entonces la puerta AND hace un seguimiento invertido del estado del flip-flop de Datos, si el Dato es 0 entonces TRN conduce y "tira a tierra" al Pin, cuando el Datos es 1 entonces TRN no conduce y el Pin queda "flotando". Si conectamos RA4 a Vdd mediante una resistencia pull-up tendremos entonces disponible Vdd, menos la caida en la resistencia pull-up, cuando el Dato sea 1 y directamente masa cuando sea 0. Un ejemplo con enjundia: Un Driver de Rel con uno u otro tipo de Pin. Supongamos que queremos conectar a nuestro Pin un Rel de 12V y con un consumo aproximado de unos 200 mA. En RA0: Para este voltaje y consumo necesitamos un buffer externo que nos haga de driver para el rel. Con un simple transistor bipolar podemos conseguirlo (Ver Mis transistores favoritos). Como la mnima ganancia de un transistor de este tipo es de 100 y asumiendo un voltaje entre base y emisor de unos 0.7V entonces con una resistencia de 1K8 ohmios le daremos a la base una corriente de unos 2 mA que llevar a nuestro transistor a saturar y por ello a activar el rel cuando el pin del PIC tenga un voltaje por encima de unos 4.3V.

Fig 8. En RA4: Como hemos visto anteriormente RA4 es un poco diferente, "raro" decamos, y solo tiene dos estados conocidos, flotante cuando ponemos un 1 en su salida o conectado a masa cuando ponemos un 0. Es lo que decamos que era Open-Drain u Open-Collector. Un Open-Drain, Open-Collector, o Colector Abierto para entendernos, no tiene fuente de corriente, as que la carga debe ser conectada a su propia fuente de corriente, una resistencia pull-up conectada a Vdd.

En este caso conectamos la resistencia de 1K8 ohmios a 12V generando la corriente que necesita nuestra carga. Cuando el Pin RA4 tenga un estado lgico alto 1 no influir en la base del transistor Driver y por lo tanto estar conduciendo y activando el Rel, y cuando su estado lgico esa 0 derivar a masa la corriente de base, a travs de la resistencia pull-up, y dejar de conducir con lo que desactivar el Rel. El diagrama final para la conexin y disposicin del Pic sera como lo muestra la figura 10. + 5 Vdc
10K

4K7 A2 A3 A4 1 2 3 4 5 6 7 8 9 18 17 16 15 14 13 12 11 10 B6 B5 B4 A1 A0

20 pF

4 Mhz

B0 RST B1 B2 B3

20 pF

16F628A

Fig 10.

1.2 MATRIZ DE LEDS 7 x 5 La matriz de Leds que vamos a utilizar en nuestro proyecto, esta compuesta por 7 filas agrupadas en 5 Columnas, haciendose necesario para su configuracin la utilizacin de 35 leds. El tipo de led usado es el normal. Teniendo en cuenta las caracteristicas de consumo de los mismos y con el objeto de no someter al micro procesador a generar consumos de corriente que afecten el estado y funcionamiento del mismo, debe disearse una estrategia de operacin que encienda los leds pero haciendo que el micro trabaje en modo de sumidero mas no en modo de fuente, para ello si se va a encender toda una columna, se pensaria que lo logico seria colocar un 1 en los anodos de los leds de cada fila en la columna y un 0 en los catodos de los mismos, veamos la ilustracin para entender este proceso, el cual seria el proceso logico.

Fig. 10. Encendido normal de una Columna. En esta figura podemos apreciar todos los leds encendidos de la ultima columna de la matriz ( A0 ), pero recordemos que vamos a escribir de derecha a izquierda para facilitar la lectura posterior en codigo binario, asi, que esta seria la primer columna. Teniendo esto claro, para encender todo los leds de esta primer columna se deben colocar 1 en todas las filas y 0 en la respectiva columna, dando como resultado que todos los leds enciendan. Luego para apagar un determinado led de esa columna, bastara con colocar un 0 en la respectiva fila del led que queramos apagar, tal como lo muestra la fig 11.

Fig. 11. Encendido y Apagado normal de Varios Leds En una misma Columna.

Para encender o apagar un led en una misma columna, se debe Asegurar en el bit que controla dicha columna un 0 como si Fuese la tierra o negativo de los catodos de los Leds, y para Encender o apagar determinado led, se debe escribir un 1 o 0, segn sea el caso en los respectivos bits del puerto B del Micro.

B5

You might also like