uControl

EL CLUB => Fotos de mis cacharros => Mensaje iniciado por: Felixls en Noviembre 12, 2009, 11:28:29 pm

Título: Módulo de cuatro dígitos siete segmentos con un pin
Publicado por: Felixls en Noviembre 12, 2009, 11:28:29 pm
Este es un videito del módulo de siete segmentos x 4 de mi nueva entrenadora.  :rolleyes2:


Trabaja con 4 integrados de desplazamiento y puede usar solo un pin del microcontrolador ( o dos, intercambiable por jumper).

Espero les guste.
Título: Re: Módulo de cuatro dígitos siete segmentos
Publicado por: Bruno10 en Noviembre 12, 2009, 11:31:46 pm
1 solo pin?  ???
Título: Re: Módulo de cuatro dígitos siete segmentos
Publicado por: Felixls en Noviembre 12, 2009, 11:32:44 pm
1 solo pin?  ???
Si, una sola salida del PIC.
Título: Re: Módulo de cuatro dígitos siete segmentos
Publicado por: HJ en Noviembre 12, 2009, 11:43:28 pm
Hola 36º3
¿Que integrados de desplazamiento estas utilizando?
¿Como logras con un solo pin, actualizar los registros de desplazamiento?

Es muy interesante.

Saludos
Título: Re: Módulo de cuatro dígitos siete segmentos
Publicado por: Felixls en Noviembre 13, 2009, 12:05:06 am
Es una idea de Rex Niven (Australiano) que por Junio del 2007 publicó un artículo para micros Atmel con códigos en assembler.

La idea en general es conectar un solo pin del micro a un filtro RC paso bajo y controla el funcionamiento de 3 (yo implementé 4) integrados 74HC164 (conv. serial a paralelo) que son los que finalmente activan o no cada led de los 7-segmentos.

Pronto voy a publicar el modulito, con los esquemáticos y el código.

saludos amigos
Título: Re: Módulo de cuatro dígitos siete segmentos
Publicado por: HJ en Noviembre 13, 2009, 12:10:35 am
Muy bueno, espero la publicación.

Saludos y gracias
Título: Re: Módulo de cuatro dígitos siete segmentos
Publicado por: Felixls en Noviembre 13, 2009, 01:58:02 pm
Explico un poco más sobre el asunto  ;)

Como sabrán el registro de desplazamiento de 8 bits (74HC164N en este caso) funciona por medio de una señal de datos y otra de clock, en cada flanco de subida del clock se desplazan los bits del registro e ingresa el estado (alto o bajo) de la señal de datos actual.
Es por este motivo que todos utilizan siempre en este caso dos pines del microcontrolador...

pero, y si... (y aquí viene la genialidad del amigo Niven)

Que tal si usamos una única señal con frecuencias altas para los unos y bajas para los ceros,  esta señal será el clock para registro de desplazamiento.

Y los datos?

Para señal de datos colocamos un filtro pasa bajos, una resistencia y un condensador, que deje pasar las frecuencias bajas pero no las altas.

Para que me crean  ;D que esto funciona, puse el osciloscopio para que registre este funcionamiento

(http://img27.imageshack.us/img27/2171/p1050640o.jpg)

Aquí pueden ver de más cerca lo que les eplicaba más arriba:
(http://img36.imageshack.us/img36/5858/ds0001explicado.png)
El color amarillo es la señal de datos y el azul el clock o reloj.

Vean como actúa el filtro cuando se transmiten los 1s.

Para generar esta señal estoy usando este código:

void display7segment(int i)
{
  int x;

  for (x=0; x<8; x++)
  {
     SIETESEG_CLOCK = (i & 0x01);
     i = i >> 1;
    
     _asm
        nop
        nop
     _endasm;
    
     SIETESEG_CLOCK = 0;
     SIETESEG_CLOCK = 1;          

  }
}

A modo de prueba envío 11000001 para encender el led A, B, y el punto decimal del display de siete segmentos
Para usar sea función invoco:

display7segment(0b11000001);

Los led A,B y punto pueden verlos en este gráfico

(http://img248.imageshack.us/img248/8646/led.gif)

Tal vez puedan verlos en la foto también iluminados

Quedó claro?

Título: Re: Módulo de cuatro dígitos siete segmentos
Publicado por: Suky en Noviembre 13, 2009, 03:27:24 pm
Muy ingenioso  :bang: Mis felicitaciones Felixls por la implementación!!!


Saludos!
Título: Re: Módulo de cuatro dígitos siete segmentos
Publicado por: Felixls en Noviembre 13, 2009, 06:04:32 pm
Gracias Suky, luego de hacer mi módulo de LCD con 2 pines descubrí esta forma de usar uno solo  :idiot:, pero bueno, dos pines para un LCD no está nada mal  ;D

En otras páginas vi que usaban un pic "chico" y comunicación de un hilo para lograr lo mismo, pero este creo es mejor ya que una resistencia y condensador son más baratos y más pequeños que un pic de 8 patas
Título: Re: Módulo de cuatro dígitos siete segmentos
Publicado por: HJ en Noviembre 13, 2009, 06:13:37 pm
En otras páginas vi que usaban un pic "chico" y comunicación de un hilo para lograr lo mismo, pero este creo es mejor ya que una resistencia y condensador son más baratos y más pequeños que un pic de 8 patas

Se podría utilizar un 628A, 4 transistores, algunas resistencias y comunicación serie TTL por un hilo... En fin, es una idea, te ahorrarías el espacio de los 4 integrados.

Saludos
Título: Re: Módulo de cuatro dígitos siete segmentos
Publicado por: Felixls en Noviembre 13, 2009, 06:22:02 pm
Se podría utilizar un 628A, 4 transistores, algunas resistencias y comunicación serie TTL por un hilo... En fin, es una idea, te ahorrarías el espacio de los 4 integrados.
Sip, es factible, aunque costo es más alto, para uno o dos displays creo que salis empatado con el espacio, y para varios display el fliqueo se nota me parece
Título: Re: Módulo de cuatro dígitos siete segmentos
Publicado por: HJ en Noviembre 13, 2009, 07:20:21 pm
Se podría utilizar un 628A, 4 transistores, algunas resistencias y comunicación serie TTL por un hilo... En fin, es una idea, te ahorrarías el espacio de los 4 integrados.
Sip, es factible, aunque costo es más alto, para uno o dos displays creo que salis empatado con el espacio, y para varios display el fliqueo se nota me parece

Con el 628A, utilizando clock y MCLR internos, utilizamos RA4 como entrada serial, nos quedarían 7 pines para multiplexar hasta siete display 7 segmentos con punto decimal incluido, ovbiamente los datos saldrían por el puerto B.
En este caso 7 transistores, 14 resistencias mas los Display. Todo eso ocuparía mucho menos espacio que los 7 integrados mas display para hacerlo del metodo por RC. El costo es otra cosa, pero no debe estar muy lejos.
Título: Re: Módulo de cuatro dígitos siete segmentos
Publicado por: Felixls en Noviembre 13, 2009, 08:00:07 pm
Con el 628A, utilizando clock y MCLR internos, utilizamos RA4 como entrada serial, nos quedarían 7 pines para multiplexar hasta siete display 7 segmentos con punto decimal incluido, ovbiamente los datos saldrían por el puerto B.
Y si son más de 7 comprarías un 877 a 40 pesos? y si son más de 14 displays?
He visto funcionar a cuatro display el fliqueo es bastante feo el efecto ese, no quiero pensar lo que pasaría con 7.

Además este método viene bien para cuando usas los 74164 para otras tareas aprovechandote de su funcionamiento de desplazamiento  ;)

En cuanto al espacio se podría reducir mucho con placas a dos caras y el encapsulado superficial.

Título: Re: Módulo de cuatro dígitos siete segmentos
Publicado por: HJ en Noviembre 13, 2009, 08:23:17 pm
Con el 628A, utilizando clock y MCLR internos, utilizamos RA4 como entrada serial, nos quedarían 7 pines para multiplexar hasta siete display 7 segmentos con punto decimal incluido, ovbiamente los datos saldrían por el puerto B.
Y si son más de 7 comprarías un 877 a 40 pesos? y si son más de 14 displays?
He visto funcionar a cuatro display el fliqueo es bastante feo el efecto ese, no quiero pensar lo que pasaría con 7.

Además este método viene bien para cuando usas los 74164 para otras tareas aprovechandote de su funcionamiento de desplazamiento  ;)

En cuanto al espacio se podría reducir mucho con placas a dos caras y el encapsulado superficial.



Evidentemente no me entendiste. Comparto que la idea es buena y diría muy buena y sobretodo para otras tareas, que no sea display, mejor todabía.
Pero, para 4 o porque no 7, no hay drama de hacerlo con un pic. He manejado 4 display multiplexados sin que se note nada, todo depende de la velocidad de multiplexado a mas de 25 presentaciones por segundo no se nota nada, es el principio del cine. Además he llegado a multiplexar 9 display con un 84A y un 4017 que lo tengo funcionando y no hace ningún "fliqueo".
Y lo de multiplexar 4 o mas display con un pic no es nuevo y realmente no creo que se vea mal, por lo menos siempre que lo he echo se ve perfecto.

Saludos y no te calentes que el método es bueno e interesante, ya lo dije antes.
Título: Re: Módulo de cuatro dígitos siete segmentos
Publicado por: Felixls en Noviembre 13, 2009, 08:29:23 pm
Pero, para 4 o porque no 7, no hay drama de hacerlo con un pic. He manejado 4 display multiplexados sin que se note nada, todo depende de la velocidad de multiplexado a mas de 25 presentaciones por segundo no se nota nada, es el principio del cine. Además he llegado a multiplexar 9 display con un 84A y un 4017 que lo tengo funcionando y no hace ningún "fliqueo".
Y lo de multiplexar 4 o mas display con un pic no es nuevo y realmente no creo que se vea mal, por lo menos siempre que lo he echo se ve perfecto.
Sip, el fliqueo no se nota mientras respetes los tiempos correctos, pero me preocupó ver una implementación que si lo hacía, y además pensaba que el pic tenía que estar manejando a la vez en la interrupción la comunicación y que el conjunto no fuera lo suficientemente veloz como para no meter la pata

Saludos y no te calentes que el método es bueno e interesante, ya lo dije antes.
No, para nada, lejos de mi enojarme por recibir comentarios o críticas, jeje  ;D