¿Cómo controlar tres LED con dos pines uC usando solo componentes pasivos?

8

Solo tengo 2 pines (3 estados) disponibles en un microcontrolador y necesito controlar 3 LED rojos, uC se está ejecutando a 5V. Solo puedo usar componentes pasivos además.

    
pregunta Cano64

5 respuestas

9

Para controlar cuatro LEDs:

simular este circuito : esquema creado usando CircuitLab

Para encender ambos LED en un pin en particular, alterna el pin a unos cientos de Hz.

Tenga en cuenta que esta configuración requiere que el voltaje directo de los LED sea menor que Vcc / 2.

Tenga en cuenta también que las resistencias consumen energía todo el tiempo, no solo cuando los LED están encendidos.

    
respondido por el Dave Tweed
6

Esta solución depende del hecho de que 5V no encenderá los tres LED en serie. Si es necesario, puede agregar un diodo de silicio en serie con uno o más de los LED para aumentar la caída de voltaje total hacia adelante.

simular este circuito : esquema creado usando CircuitLab

  • Si el pin A y el pin B están en estado triple, todos los LED están apagados.
  • Si el pin A está bajo, D1 está activado.
  • Si el pin A es alto y el B es bajo, D2 está activado.
  • si el pin B es alto, D3 está activado.

Para tener más de un LED encendido a la vez, tendrá que multiplexar: enciéndalos de uno en uno, lo suficientemente rápido para que parezcan estar encendidos continuamente.

    
respondido por el Dave Tweed
3

Con dos pines, puedes controlar cuatro LED. Para controlar dos LED, coloque una resistencia desde el pin MCU para limitar la corriente y átela a dos LED: el cátodo de un LED y el ánodo del otro LED. El extremo libre del ánodo del primer LED se conecta a la VCC de la placa MCU a través de otra resistencia. El extremo libre del cátodo del segundo LED se conecta a GND (a través de otra resistencia). Ahora, los LED se encenderán alternativamente cuando el pin MCU esté ajustado en alto o bajo. Conecte el segundo pin MCU de la misma manera y ahora tiene control sobre un total de cuatro LED.

Para dar la apariencia de que el control independiente de cada LED en el par de uno de los pines del puerto requiere un poco de trabajo de software como sigue.

Si LED1 es el que tiene el ánodo en el pin del puerto y LED2 es el que tiene el cátodo en el pin del puerto, haga lo siguiente para establecer los cuatro estados de los dos LED.

LED2  LED1    Action
OFF   OFF     Set the port pin to tristate level.
OFF   ON      Set the port pin low.
ON    OFF     Set the port pin high.
ON    ON      Toggle the port pin high and low at a frequency over about 120 Hz. 

Repita las mismas acciones para el otro pin de puerto y verá que tiene cuatro LED independientes apagados en los dos pines de puerto.

Este esquema funciona bien para los LED que tienen una caída de tensión directa superior a la mitad del nivel de VCC. Los LED rojos con un 2.1 VF no funcionarán tan bien si el VCC es de 5V, por ejemplo. Por otra parte, un LED verde con un VF de 2.5V funcionará muy bien en un sistema con un VCC de 3.3V.

    
respondido por el Michael Karas
2

Así, así no hay flujo de corriente cuando están apagados, y puede conducir tanto / poco voltaje de avance como sea necesario

    
respondido por el Will
2

EDN publicó algunas Ideas de diseño relacionadas aquí

Aquí hay uno de ellos: -

Para valores típicos con D1, un LED amarillo (2.2 V encendido), D2 un LED rojo (1.9 V encendido) y voltajes apagados de 1.2 V y 1.1 V respectivamente, y corrientes de encendido de 8 mA cada uno, Vcc = 5.0 V , los valores óptimos son

R1 = 300 ohmios R2 = 330 ohmios R3 = 1.2K ohmios

La corriente de reposo es de 2,7 mA. Para que ambos LEDs parezcan iluminados, alterne el pin de salida a 100Hz o más.

Usé el programa de resolución de Excel en el artículo original, el código puede estar disponible en EDN.

El grado adicional de libertad que ofrece la resistencia R3 puede evitar las limitaciones de los circuitos de Dave Tweed y Michael Karas, aunque para el caso específico de 2 LED rojos que funcionan con un suministro de 5 V, Dave El circuito de Tweed es probablemente aceptable, pero revise el Vf con cuidado, no está bien para algunos LED rojos, y puede ser marginal para otros si el pin del puerto no empuja hacia arriba o hacia abajo.

    
respondido por el Spehro Pefhany

Lea otras preguntas en las etiquetas