Estoy tratando de hacer un semáforo usando LED verdes y rojos, controlado por un pin de arduino. La idea es cuando el pin está bajo, el LED rojo está encendido y el LED verde está apagado, cuando el pin está arriba, el LED verde está encendido y el LED rojo está apagado.
Así que hice el circuito usando dos transistores y en el software de simulación todo parece estar bien, pero en la práctica, el LED rojo (el de la derecha en la imagen) sigue brillando tenuemente cuando el verde (el de la izquierda) está encendido.
En los diagramas, puede ver que todavía hay una pequeña corriente a través del LED rojo, cuando el pin está en estado activo.
¿Hay alguna idea de cómo lidiar con esta corriente?
Dos palabras: fuente, sumidero.
El pin de salida de un arduino es capaz de generar (suministrar una corriente de salida) y hundirse (tomar una corriente en la salida y bajar a tierra). Consulte http://arduino.cc/en/Tutorial/DigitalPins
No necesita ningún transistor para cambiar los LED.
En este circuito cuando la salida es BAJA (cerca de 0V) el LED verde estará ENCENDIDO, el rojo está APAGADO. Cuando la salida es ALTA (cerca de 5V) el LED rojo está ENCENDIDO, el verde está APAGADO.
Las resistencias limitan la corriente de sumidero/fuente a un valor seguro.
En aras de la integridad: si desea proporcionar más corriente de la que puede entregar su MCU, aún puede usar dos transistores, pero esta vez uno NPN y otro PNP. NPN en este caso funciona como un interruptor no inversor, PNP está invirtiendo.
Nota: Esto solo funciona si el voltaje de su unidad (pin MCU) va de 0 a 5 V. No es un problema con el ATMega.
simular este circuito : esquema creado con CircuitLab
Parece que tiene una fuga de voltaje desde los 5V a través de la segunda base del transistor hasta el emisor, lo que le da un brillo tenue (similar al problema que enfrenté en esta publicación ) . Como la corriente del Arduino es suficiente para alimentar 1 LED a la vez (con una resistencia de ~ 300-470 ohmios), puede usar el circuito de mi publicación para que todo funcione. Te ahorra un transistor :)
EDITAR: El circuito completo que debe implementar (su pin Arduino va donde está IN1, y debe reemplazar la fuente de 9V con su fuente de 5V o con otro pin del arduino) es este (de esta publicación ) :
simular este circuito : esquema creado con CircuitLab
TENGA EN CUENTA que esto supone que el LED1 es rojo y el LED2 es verde, por lo que tendría que invertir su lógica de pines en el Arduino.
Una buena manera de lidiar con esto es dejar de colocar los LED en la parte del circuito del emisor. En su lugar, coloque los LED en la parte del colector del circuito en serie con las resistencias de límite de corriente.
Otra cosa a considerar es que si el pin MCU tiene una capacidad de accionamiento adecuada y una oscilación de voltaje de 5 V, puede considerar simplemente conectar los LED de la siguiente manera:
Greg de Eon
Stepán
cano64