Gostaria de encontrar uma solução baseada em hardware para fazer com que os LEDs desapareçam dos pinos digitais. isto é, em vez de ligar / desligar, diminui lentamente (500ms) para dentro / fora do brilho total. Não consigo imaginar um capacitor pequeno levando meio segundo para descarregar ... Idealmente, ele seria um bom pacote DIP16 para que eu possa obter uma variedade de LEDs desbotados. O componente dos meus sonhos existe?
11
Respostas:
A maneira usual de fazer isso é usar PWM (Modulação por Largura de Pulso)
Praticamente qualquer microcontrolador moderno possui um periférico PWM que pode ser configurado para esse fim. Se você não quiser usar um microcontrolador, um IC PWM dedicado ou um IC de timer como o onipresente 555 podem ser usados.
O processo é simples, a frequência de pulso é definida com rapidez suficiente para que o olho humano não possa detectar cintilação (geralmente acima de 25Hz - consulte Persistência da visão ) e o tempo decorrido vs o intervalo varia de 100% a (brilho total) a 50% a 50% de desconto (meio brilho) a 0% de desconto (desligado)
Observe que isso pode ser facilmente usado para uma matriz; você simplesmente fornece o PWM a todos os transistores de driver de LED (verifique se a corrente base é adequada para bipolar ou use MOSFETs As opções de design dependerão do tipo de LED que você está dirigindo, corrente alta / baixa)
Verifique na rede "555 LED Fade" e você deverá obter muitos resultados. Aqui está um escolhido aleatoriamente a partir daqui (eu não o verifiquei, não posso confirmar se funciona corretamente):
Como alternativa, se a precisão absoluta do tempo não for tão importante, uma opção simples seria usar um filtro RC e uma chave de transistor. Dessa forma, a tampa não precisa fornecer a corrente do LED, apenas a corrente base. Algo assim:
Simulação:
Qualquer NPN de propósito geral deve funcionar, e você pode ajustar os valores de R e C para se adequarem.
Essa opção pode ser facilmente estendida para uma matriz de espelhos atual com a adição de um opamp. Este circuito deve ter um bom desempenho, desde que os transistores sejam do mesmo tipo (a fonte usada é + 5V):
Simulação:
Se você tiver uma tensão de alimentação alta o suficiente, os LEDs podem entrar em séries como esta (a fonte usada aqui é + 10V):
Simulação:
Como alternativa, se você tem uma tensão de alimentação baixa, mas deseja acionar os LEDs em série, há muitos ICs de impulso baratos, como o CAT4238 . Esta parte pode escurecer os LEDS usando PWM ou uma tensão DC variável (os detalhes estão na folha de dados)
fonte
Como é isso?
O FAN5646 é uma solução flexível e compacta para um LED piscando / apagando.
Folha de dados do FAN5646
fonte
Você pode usar uma tampa pequena + um resistor grande para gerar uma boa característica de carga longa (t = RC), alimentá-la na base de um transistor e acionar o LED a partir daí.
Isso permite uma resistência maior, já que a corrente através do LED não é limitada pelo tamanho do resistor e, em seguida, você pode usar uma pequena tampa.
Seria necessário polarizar o transistor para que ele esteja sendo usado como um amplificador (se atingir a saturação, o LED permanecerá aceso).
fonte
Se por um pino digital você estiver usando uma saída de algum tipo de processador, é possível alterar o brilho do firmware. À medida que você altera o ciclo de trabalho do pino, o olho age como um filtro e percebe um tempo mais curto como uma diminuição do brilho.
1 - Use uma saída de pino PWM em vez de pinos GPIO digitais. Alterando alguns registros, você pode alterar o tempo de ativação do LED e, portanto, o brilho.
2 - Use um timer (sondado ou interrompido) para alterar o estado do seu pino.
3 - Use ICs de registradores de mudança externos para travar os tempos de ativação / desativação de n LEDs. Embora isso exija mais esforço de programação, é extensível e usa menos pinos GPIO que (1) e (2).
fonte
Drivers de LED PWM. Eles precisam de configuração de um microcontrolador. 555 Timer + alguns resistores e tampas podem fazer o mesmo, sem necessidade de software.
fonte