# Manejar 4 display con decoder o PIC



## Meta (Jul 30, 2010)

Hola:

Quiero manejar con el puerto paralelo 4 display de 7 segmentos, por ahora he hecho un esquema sencillo.







El que indica 109 son los KM/H, y el último display que pone 4 son los cambios. Es un cuenta KM y cambios para un coche.

Hay que controlarlo en el puerto paralelo. Estaba pensando en mil cosas, manejar todo esto con un PIC16F887 o un IC decoder que hay varios. El circuito quiero que sea lo menos complejo a realizarlo. Si tienen ideas para diseñarlo mejor que yo, pueden aportar los que se les ocurra.

He visto con PIC que ponen 4 Display de 7 segmentos en el mismo puerto, en otro puerto ya controlan el cátodo que son 4 de los Display. ¿Será mejor usar cada Display por cada puerto del PIC?

Entre 4 Display se usará 28 Led sin contar con el punto. En mi caso prefiero usar el Display por cada puerto del PIC, aún así les escucho.

Otra cosa, necesito 8 Led normales más libre formando una barra. Entonces son 28 Led que usaré de los 4 Display, más los 8 Led normales con el total de 36 Led para el PIC16F887 que tiene 36 pines para puertos.

Por lo que veo, necesito 8 entradas para controlar el PIC con el puerto paralelo. Así que al final necesitaré decoder junto con PIC o usar otro PIC más pequeño. También hay la posibilidad de comprar dsPIC, PIC32 de 60 ó 80 pines pero no es cuestión.

Saludo.


----------



## DSP (Jul 30, 2010)

Que tal meta

Puedes utilizar un pic chico (por ejemplo pic16f628) con un integrado SAA1064, el cual te controla los 4 display y utiliza una interfaz i2c.

Supongo que te refieres al puerto paralelo de una PC. No has pensado en utilizar el serial?


----------



## Meta (Jul 30, 2010)

Es verdad, no lo había pensado.





http://www.pic16f84a.org/index.php?...w=article&id=66&Itemid=87#Proteus_Capitulo_25

La placa que quiero hacer esta. 





Ver vídeo abajo.





Fíjate los display que tiene. Esto no lo hago por mi, me lo piden para hacerlo. Hay que diseñarlo bien, le dije puerto serie pero se empela en el paralelo.

Como podrás ver en el vídeo de arriba, el puerto serie tiene que ser rápido y no 9600 baudios. ¿Me equivoco? Como no lo he probado, por ahora lo dejo lento en 9600, ya subiré más.

Encontré una explicación para ahorrar pines de los PIC.






Pueden seguir dando ideas caballe@s.


----------



## DSP (Jul 30, 2010)

Acaso vas a hacer el programa de la pc tambien? utilizas OpenGL o algo asi?

Tu aplicación es exactamente la misma?

Bueno, creo que nadamas preguntaste sobre los display pero da curiosidad despues de ver el video.

O será acaso una interfaz de videojuegos?


----------



## Meta (Jul 30, 2010)

Se usan librerías que te viene en el juego para que programes la sincornización con la electrónica. Se programa el que quieras, C/C++, C#, VB, etc. Uso el C#.

Aún no lo entiendo, estoy en ello. Por lo menos funciona una palicación de C# con el juego el tema de las revoluciones, pero al mismo tiempo falta la parte de la electrónica para sincronizarlo.

Lo estoy diseñando.


----------



## willynovi (Jul 30, 2010)

y este no te convence mas?


----------



## Meta (Jul 30, 2010)

Me ha dado ideas lo del control de intensidad de los display. Está bueno. 

Debo hacer lo que me piden para uno ahí, ajajjaa.

Por ahora por el puerto paralelo LPT. En caso de que haga alguno para mi, por el puerto serie COM.

Se me ocurre por ahora meter un PIC16F887 controlador por LPT, un Display, una bara de 8xLed y PIC16F886.

En el PIC16F886 las dos Display que faltan.

*Edito**:*

Ya acabé un boceto simple, al final usamos 2 PIC16F887 (40 patillajes).

Tanto uno hace cododificador y el otro de decodificador.

Ahora falta, estudiar los estados de los Display, barra de Led, configurar cad PIC internamente los puerto y oscilador interno a 8 MHz. 

El 2º PIC que hace de decodificador usa el KM. El 1º PIC lo usa el puerto paralelo, codificador y cuenta revoluciones con los Led de barras.


----------



## willynovi (Jul 31, 2010)

bueno, voy a darte unas ideas de como manejar los digitos y leds.
Para los digitos puedes usar un 74LS47 o similar (74LS48) que es un decodificador de BCD a 7 seg. Es muy simple de usar, solo necesitas 4 pines para todos los display y luego un pin mas por cada display.
Entonces si tienes 4 digitos, usas 8 pines solamente.

Si lo que quieres hacer es tambien controlar los leds puedes usar un shift register, 74LS595 o 74LS164, cualquiera de los dos los puedes adaptar, y ahi ya usarias menos lineas porque son con entrada serie.
Ahi ya puedes usar el mismo integrado para los 7 seg y los leds.


----------



## Meta (Jul 31, 2010)

Voy a buscar cada integrado que me has nombrado y hacer pruebas mediante Proteus.






Gracias por la ayuda. Puedes seguir dando ideas.

74LS48 me gusta más porque su salida no tiene incersores. En caso contrario tendría que poner inversores a su salida y no es cuestión.


----------



## Meta (Jul 31, 2010)

Quiero poner el LPT directamente al PIC.

LPT -----> PIC16F887.

Ya que tiene el diodo 1N4148 hay caida de tensión de 0.7V. Lo usaré así y de paso hago una mini protección al puerto.

LPT -----> 8 x 1N4148 -----Z PIC16F887.

¿Les parece bien?


----------



## willynovi (Jul 31, 2010)

a ver si puedo expresarme mejor esta vez 

Suponiendo que uses dígitos de 7seg de cátodo común, y la tiras de led las conectes de forma que tambien queden todos unidos por el cátodo, lo que haces es conectar todas las salidas del 74LS48 a cada segmento de cada digito, pero solo usando un 74ls48.

Luego en cada cátodo de cada dígitos pones un transistor y con un pin por cada dígito mediante una resistencia alimentas la base de cada transistor.

En caso de que consigas los 74ls47 lo que debes usar son dígitos de ánodo comun.

Ahora, si usas cualquiera de estos dos no podras hacer en paralelo los led en paralelo

Si decides usar los 74ls595 puedes poner todo junto.






antes de poner un diodo por linea yo pondria un 74ls244 o un 74ls245, aunque el 245 es bidireccional.


----------



## Meta (Jul 31, 2010)

Le entiendo. Estamos en una etapa de diseño de circuitos. hay una cosa que no he dejado claro pero lo dejo ahora.

Se usará 4 display de 7 segmentos. Tres solo muestra *0,1,2,3,4,5,6,7,8,9.*
Uno muestra a parte de los números dos letras como es: *0,1,2,3,4,5,6,7,8,9, r y n.*

Una barra de 8 Led. *DDDDDDD D*.

Se puede usar el 74LS48 para tres display y el 16F88/628A/84A que hace de decoder para los *0,1,2,3,4,5,6,7,8,9, r y n.

*Estamos comprobando que usar dos PIC16F887 sale muy barato, 12 € los dos. los demás diseño de pasan de precio.


----------

