Tengo solamente 2 pernos (estado 3) disponibles en un microcontrolador y necesito controlar 3 LEDs rojos, uC está funcionando a 5V. Además sólo puedo utilizar componentes pasivos.
Respuestas
¿Demasiados anuncios?Con los dos pasadores que usted puede controlar cuatro LEDs. Para el control de dos LEDs de poner una resistencia de la MCU pin para limitar la corriente y el empate a dos LEDs - el cátodo de un LED y el ánodo del LED otros. La libre ánodo final del primer LED se conecta a la VCC de la MCU de la junta a través de otro resistor. La libre cátodo final de la segunda LED se conecta a GND (a través de otro resistor). Ahora el Led de luz alternativamente cuando el MCU pin está configurado alta o baja. El alambre hasta la segunda MCU pin de la misma manera y ahora tiene el control sobre un total de cuatro LEDs.
Para dar la apariencia de un control independiente de cada uno de los LED en la pareja uno de los pines del puerto requiere un poco de trabajo de software como seguir.
Si LED1 es el uno con el ánodo hacia el puerto de pin y LED2 es el uno con el cátodo hasta el puerto de pin, a continuación, haga lo siguiente para establecer los cuatro estados para dos LEDs.
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.
Repetir las mismas acciones para el otro de la clavija de puerto y usted será el aspecto que usted tiene cuatro independiente de los Led apagados dos pines del puerto.
Este esquema funciona bien para los LEDs que tiene una caída de voltaje directo que es más de la mitad de la VCC nivel. Un Led de color rojo con un 2.1 VF no funcionará tan grande si el VCC es de 5V, por ejemplo. En un otherhand un LED de color verde con un 2,5 V VF será un gran trabajo en un sistema con una VCC de 3.3 V.
Esta solución depende del hecho de que los 5V no la luz de los tres LEDs en serie. Si es necesario, puede agregar un diodo de silicio en serie con uno o más de los LEDs con el fin de aumentar el total de caída de voltaje directo.
simular este circuito – Esquema creado mediante CircuitLab
- Si tanto el pin a y el pin B son tristate, todos los LEDs están apagados.
- Si el pin es conducido bajo, D1 es.
- Si el pin es impulsado por la alta y el pin B es impulsado por la baja D2.
- si el pin B es impulsado alta, D3 está encendido.
Tener más de un LED iluminado por un tiempo, usted tendrá que multiplex: convertirlos en uno a la vez, con la suficiente rapidez, de modo que parezcan estar continuamente encendido.
EDN publicado algunas Ideas para el Diseño aquí
He aquí uno de ellos:-
Para valores típicos con D1, un LED amarillo (2.2 V), D2 (LED rojo) (1.9 V), y fuera de los voltajes de 1.2 V y 1.1 V, respectivamente, y en las corrientes de 8mA cada uno, Vcc = 5.0 V, los valores óptimos son
R1 = 300 ohmios R2 = 330 ohmios R3 = 1.2 K ohmios
Corriente de reposo es el 2.7 mA. Tener ambos indicadores parecen ser iluminado, cambiar el pin de salida a 100 hz o mayor.
He utilizado el solver de Excel en el artículo original, el código puede ser aún disponibles de EDN.
El grado adicional de libertad otorgada por la resistencia R3 puede evitar las limitaciones de Dave Tweed y Michael Karas' circuitos, aunque para el caso específico de 2 Led rojo de funcionamiento de una 5V de alimentación, Dave Tweed del circuito es probablemente aceptable, pero la comprobación de que el Vf cuidadosamente, no se muy bien para algunos LEDs de color rojo, y pueden ser marginales para otros, si el de las patillas del puerto no tirar todo el camino hacia abajo o hacia arriba.
Para el control de cuatro LEDs:
simular este circuito – Esquema creado mediante CircuitLab
Para conseguir ambos indicadores en un determinado pin iluminado, cambiar el pin en unos pocos cientos de Hz.
Tenga en cuenta que esta configuración requiere que el voltaje de los LEDs ser inferior a Vcc/2.
Tenga en cuenta también que las resistencias de consumir energía todo el tiempo, no sólo cuando los LEDs están encendidos.