Control de dos LED con una salida digital

Tengo un LED RG bicolor, que se ve así:

RG LED.

No tengo una hoja de datos para ello. Hay tres cables en él: uno es el cátodo de cada color (tipo de cátodo común) y los otros dos son los ánodos de cada color. El voltaje directo de cada LED es de 24 V y la corriente directa es de 10 mA.

Quiero cambiar su color cambiando UNA salida digital de un arduino. Quiero decir que cuando la salida digital es baja, el LED verde está encendido y el LED rojo está apagado. Y luego, cuando la salida es alta, el LED verde debe estar apagado, mientras que el LED rojo está encendido. El nivel de salida digital es de 3 V CC cuando está en estado "alto" y "0" V CC cuando está en estado "bajo".

Entonces, ¿cómo puedo controlar qué LED está encendido mientras cambio una salida digital?

¿Qué crees que solucionaría esto? Esto se puede resolver muy fácilmente con álgebra booleana.
Bueno, podría conectarlo para que cuando tenga energía siempre esté verde, y luego, bajo el control de la salida de arduino, cámbielo a amarillo, pero esto probablemente no sea lo que quería. En resumen, con una sola salida, ni siquiera charlieplexing puede ayudarte aquí.
@GlenYates es una buena alternativa, pero como muestra la respuesta, es posible con una sola salida.

Respuestas (2)

esquemático

simular este circuito : esquema creado con CircuitLab

Figura 1. Controlador e inversor de lado alto.

Cómo funciona:

  • Si GPIO es bajo, entonces Q1 está apagado y Q2 está apagado. La base de Q3 encontrará un camino a tierra a través de R1 y D1 y encenderá la iluminación de D2.
  • Si GPIO es alto, entonces Q1 está encendido, Q2 está encendido y D1 se iluminará. Dado que el colector de Q2 se eleva, la corriente base de Q3 caerá a cero y D2 se apagará.
  • Al usar PWM (modulación de ancho de pulso), la luz puede combinarse de un color a otro.

¿Tiene que ser tan complicado?

ingrese la descripción de la imagen aquí

Figura 2. Falla del controlador del lado alto .

Sí. Sin el transistor NPN de la Figura 1 hay dos problemas:

  1. Hay un camino furtivo para la corriente a través de los diodos de protección del GPIO del micro. Ya sea que la salida sea alta o triple para intentar apagar el transistor PNP de la Figura 2, la base puede encenderse a través de D1.
  2. El alto voltaje, 24 V en su caso, puede dañar el GPIO.

Opción de optoaislador:

ingrese la descripción de la imagen aquí

Figura 3. Un par de optoaisladores simplifica aún más la tarea y puede aislar completamente el circuito de 24 V del micro.

  • Cuando el GPIO está bajo, el optoaislador superior se encenderá.
  • Cuando el GPIO esté alto se encenderá el inferior.

La opción muy simple:

Las resistencias de la serie LED son termorretráctiles claramente visibles en los cables de la lámpara. Si está preparado para reemplazarlos, el circuito se vuelve trivial.

ingrese la descripción de la imagen aquí

Figura 5. Accionamiento directo de los LEDs.

Establecer R1 y R2 en 56 Ω debería estar bien.

Si la salida tiene tres estados (cableada como entrada o desconectada por el control del programa), fluirá una corriente a través de R1, L1, R2, L2 y ambos LED se iluminarán tenuemente. En un dispositivo de 3,3 V, el voltaje no sería lo suficientemente alto como para iluminar significativamente ambos LED, por lo que parecerían oscuros.

Parece que solo hay una resistencia de lado bajo
Seguro. Parece que podría usar un pull up entre q1 y q2.
He visto los pull-ups utilizados antes, pero nunca entendí el riesgo sin el pull-up en la base. Puedes explicar.
@Transistor Sin él, no hay una ruta de CC para unir completamente la base y el emisor (a menos que desee llamar a la unión PN una ruta de CC). Hay almacenamiento de carga, ¿recuerda? Además, también es para la velocidad debido a ese almacenamiento de carga. Y de lo contrario, es de alta impedancia y puede verse afectado por cosas como "tocarlo". Ver: ¿Por qué tirar de la base del interruptor BJT? , para la perspectiva de otro. yo los uso Son baratos y efectivos.
He añadido un pull-up de 18k. ¿Todo el mundo feliz? Gracias por el tiempo, caps.
@Transistor ¿Qué pasa con q 3 y q 1 ? Y, bueno, cada nodo debe tener tanto un pull down como un pull up. Y también puede agregar protección de diodo BAV99 en las bases y quizás también en los colectores. ;)
Hola, @jonk. ¡Mi solución de optoaislador se ve cada vez mejor! ¿Q2 no desvía adecuadamente la base de Q3? (Es hora de apagar las luces en Irlanda).
@Transistor q 2 es un tirón activo, así que probablemente no. Yo estaba sobre todo bromeando. agregaría uno en q 1 Sin embargo, porque los pines del microcontrolador comienzan como entradas antes de que el software pueda reconfigurarlos. (¡Ah. Mi patria! ¡Apellido O'Quirivan!)
@jonk Q3 no necesita uno. O se tira fuerte hacia arriba a través de Q2 o hacia abajo a través del LED. En ningún momento está flotando. Q1, bueno, a menos que el Arduino esté apagado mientras el suministro de 24 V está encendido, en alta z o desconectado, claro.
@Passerby Justo como escribí. No hay desacuerdo en absoluto.
En realidad, ¿Q3, a través del led verde, no estaría siempre ligeramente encendido? Lo simulé (r1 y r2 deberían ser de aproximadamente 2kΩ) y el LED verde + la resistencia tienen 3,6 V y 1,3 mA cuando el GPIO está bajo. Así que esto es realmente amarillo teñido de rojo/rosa y verde.
Yo iría con la solución de optoaislador. Bonito y limpio. +1 en eso.
Esto también podría hacerse con un chip de controlador de puente h que usa mosfets.
Hola. En el primer esquema, usa 1 transistor NPN y 2 PNP. ¿Porqué es eso? ¿Cuales son los beneficios?
@user1584421: consulte el artículo sobre fallas del controlador de lado alto de GPIO . Avísame si eso ayuda.

No estoy seguro si entendí tu pregunta correctamente, pero si lo hice, entonces la respuesta más fácil es usar una puerta no.

Tome la salida del pin Arduino, toque la salida usando una puerta no y luego conecte los dos LED.

Cuando la salida es alta, el LED conectado directamente a la salida se enciende mientras que el otro no. Cuando la salida es baja, el LED conectado a la puerta no se enciende mientras que el conectado directamente a la salida no lo hace.

¡Salud!

Si bien esto funcionaría, parecería requerir la puerta y 4 transistores, un controlador NPN para un transistor PNP, debido a los voltajes involucrados.
@Transeúnte, cierto. Sin embargo, en lugar de usar transistores directamente, recomendaría usarlo en forma de relé de estado sólido.