Manejo de pantallas de 7 segmentos a través de GPIO de Raspberry Pi

Así que estaba pensando en conectar cuatro pantallas de 7 segmentos a través de Raspberry PI. Haría eso multiplexando cada uno de ellos, y encontré esto: http://hackyourmind.org/public/images/display7seg_anim.gif

La cuestión es que soy consciente de que puedo dibujar (y hundir) un máximo de 16 mA por pin GPIO. Por lo tanto, solo puedo tener un consumo máximo de 16 mA para cada segmento, ¿correcto? (suponiendo que no uso un transistor para cada segmento para extraer energía del riel de 5v). Entonces, si solo consumo menos de 16 mA en un momento dado, ¿necesito esos transistores para encender y apagar las múltiples pantallas? ¿No puedo conectar cada uno de los ánodos/cátodos comunes directamente desde los pines GPIO y simplemente cambiarlos hacia arriba y hacia abajo para encenderlos y apagarlos?

EDITAR: también pulso cada uno de los segmentos de cada pantalla, por lo que no necesito 7 resistencias por pantalla y puedo usar solo una resistencia en el ánodo / cátodo común y mantener el brillo en diferentes dígitos (¿hay un mejor manera de hacer esto?)

Respuestas (2)

Si pulsa cada segmento de cada pantalla (en cada momento solo está encendido un segmento de cada dígito), de hecho no necesita ningún transistor, y puede usar una sola resistencia por dígito.

La desventaja es que el brillo promedio de cada dígito será solo 1/8 de su brillo 'completo'. Si usa una pantalla de alto brillo, es probable que esto no sea un problema. (nota que en el gif que vinculaste el brillo es 1/4 del máximo, porque solo se activa un dígito en cada momento).

Me falta la derivación 1/8, ¿podría explicar por favor? EDITAR: Oh, espera, me perdí la parte sobre solo un segmento del 7 en cualquier momento. ¿Es esto a lo que te referías? Nunca lo había visto hecho así antes. Los proyectos que he visto son como el gif y manejan hasta 7 LED a la vez y multiplexan qué pantalla se está manejando, en lugar de manejar cada una de las pantallas hasta 8 veces, por lo que solo se enciende un solo LED en cualquier momento.

Cada segmento solo consumirá 16 mA, pero los pines comunes consumirán suficiente corriente para todos los segmentos relacionados. Pon transistores en esos.

Pero no las resistencias, ya que la corriente a través de todos los segmentos será constante, lo que significa que la corriente a través de cada segmento encendido dependerá de cuántos segmentos estén encendidos. Simplemente mantenga el multiplexor en movimiento, y eso restringirá la potencia aplicada a cada segmento.

Su respuesta implica resistencias para cada uno de los pines del segmento, ¿verdad? Lee la edición de mi pregunta.
No, no lo hace. Lea la última oración de mi respuesta.
Así que supongamos que estoy usando un ánodo común. ¿Conduzco ALTO a través del pin común y no hay ningún tipo de resistencia en ninguna parte?
El primer párrafo cubre eso.