Controle um LED bicolor com apenas um pino


9

É possível controlar um LED bicolor com apenas um pino de um microcontrolador?

O Instinct diz NÃO, porque você pode ter uma extremidade aterrada e a outra no pino do micro, permitindo que você o ligue ou desligue, mas não mude de cor.

Mas talvez alguém tenha uma ideia melhor?


11
Você pode fazer praticamente qualquer coisa com um alfinete de micro. Mais específico, por favor?
Nick T

Respostas:


6

Você pode fazer isso com um LED bicolor que possui os dois LEDs consecutivos se conectar um terminal de LED a uma tensão intermediária, por exemplo, 2,5V em um design de 5V e conectar o outro lado ao MCU por meio de um resistor adequado ( Eu usei 560R).

Em seguida, uma saída baixa fornece uma cor, a alta fornece a outra e o tri-state deixa o LED desligado. A modulação por largura de pulso permitirá controlar o brilho (alternando a saída entre ativo e tri-state) ou misturar as cores (alternar a saída de baixa para alta).

Você também pode ajustar a tensão intermediária para compensar diferentes tensões de avanço do LED.

Usei um amplificador operacional LM2904 para fornecer a tensão intermediária - ele funciona com tensão de alimentação de até 5V. Existem muitos outros dispositivos que podem operar em tensões mais baixas e ainda assim afundar e fornecer corrente suficiente para acionar os LEDs.


3

Se você não precisou de um estado desligado e seu Voh fosse suficientemente grande (editar: para superar a tensão de polarização direta do LED), poderá conectar uma extremidade do LED a uma tensão no meio do trilho. A saída de 1 obtém uma cor, a saída de 0 obtém a outra cor. Para desligar ... ha, boa sorte. Talvez você possa tentar colocar um capacitor lá e, em seguida, direcionar a saída com um PWM que a tampa suavizaria até o meio do trilho?


7
Eu estava pensando praticamente a mesma coisa, talvez o estado desligado pudesse ser alcançado tristando o pino de saída do micro.
tcrosley

11
Uma sugestão impressionante ... declarar três vezes o pino deve desativá-lo sem o PWM sofisticado. No entanto, você deve ser cuidadoso sobre deixar a bóia de entrada, provavelmente precisará de um pull down (NÃO divisor, não deixe que as tensões ver mid-rail pino de entrada!)
ajs410

11
Você pode usar um resistor de alto valor (470k) puxado para cima ou para baixo. O LED será polarizado ou de uma cor ou de outra, mas o fluxo atual será tão baixo que você não verá o LED aceso.
akohlsmith

5
@ ajs410 - Acho que as MCUs são muito mais inteligentes do que um chip lógico burro. Em um micro de 8 bits médio, a grande maioria dos pinos pode ser usada como entrada analógica (sem configurá-los explicitamente como tal), para que não haja efeitos negativos (oscilação de porta, consumo excessivo de corrente) enquanto a tensão permanecer dentro GND e VDD.
Nick T

2
Uma das desvantagens (possivelmente significativas) dessa topologia é que você sempre terá um consumo de corrente bastante significativo que (sem modificação) o anula para qualquer aplicativo de bateria de longo prazo.
Nick T

0

Você pode Charlieplexá- lo


3
mas isso requer no mínimo dois pinos. A OP pediu uma solução usando um pino.
tcrosley

Na verdade, é possível, em alguns casos, estender o Charlieplexing para fornecer aos LEDs N * (N + 1) N pinos, se a tensão de alimentação for menor que o dobro da queda de tensão do LED e se houver a combinação certa de queda de tensão do LED disponível. Vamos assumir por simplicidade que o objetivo é controlar 12 LEDs com três pinos; seis LEDs têm uma queda de 2,5 volts e seis têm uma queda de 1,7 volts, e a tensão de alimentação é de 3,0 volts. O objetivo é 5mA para os diodos de 2,5 volts e 6,5mA para os diodos de 1,7 volts. Coloque um resistor de 100ohm em série com cada saída. Três dos LEDs de 2,5 volts conectam as saídas ao VDD, três ao VSS ... #
317

... e os LEDs de 1,7 volts conectam as saídas uma à outra na forma Charlieplex "normal". Para ligar um LED de 1,7 volts, conduza uma saída alta e outra baixa. Os resistores caem 0,65 volts, deixando 1,7 volts para o LED e tensão insuficiente para o LED de 2,5 volts. Para ligar um led de 2,5 volts, conduza uma saída para alta ou baixa e nenhuma das outras. Em seguida, um LED de 2,5 volts terá corrente suficiente para acender.
supercat

Pode-se adicionar mais resistores ou diodos de silício para lidar com diferentes cenários de tensão, se necessário, mas isso acrescentaria alguma complexidade. @crosley: O item acima generaliza ao uso de um pino para controlar dois LEDs.
supercat
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.