segunda-feira, 31 de outubro de 2011

Controlar vários LEDS usando o minimo de portas!

Neste post destacaremos um método para controlar diversos leds utilizando o minimo possível de portas do PIC.
Normalmente cada pino de I/O (entrada/saída) do pic controlaria um led apenas e para controlar mais de um led precisaria ter disponível pinos de I/O na mesma quantidade de leds que se deseja controlar,mas, existe uma solução:
Ja que dos pinos do pic podemos obter uma corrente aproximada entre 20mA e 25mA, para reduzir a quantidade de pinos utilizados podemos multiplexar os leds com uma matriz.
     Como os leds possuem uma polaridade especifica para acender podemos organiza-los da seguinte maneira:
TB029 da Microchip
A figura mostra, por exemplo, como controlar 12 leds usando apenas 4 pinos do PIC; Lembrando que este exemplo se aplica para o caso em que precisamos acender um LED por vez!
Então primeiro é necessário que todos os pinos sejam configurados como entrada (input) para que eles apresentem uma alta impedancia e nao acendam leds indesejados; depois para acender um led específico, basta configurar os pinos correspondentes como saída e colocar em nível alto (1) o pino ligado ao anodo do led em questão e em nivel baixo (0) o pino ligado ao catodo do mesmo led.
       Pronto, um único led deve estar aceso! As diferentes combinações nas configurações aplicadas aos pinos fará o LED correspondente acender, lembrando que para apagar basta configurar os pinos novamente como entrada (input).
       Baseado na tabela abaixo podemos perceber a proporção de quantos leds podemos controlar em relação a quantidade de pinos disponíveis no PIC.


TB029 da Microchip
Estas duas imagens foram originadas da Application Note TB029 no site da Microchip.

Nenhum comentário:

Postar um comentário