Manual

do

Maker

.

com

Eletrônica digital - Economizando pinos PWM

Eletrônica digital - Economizando pinos PWM

Economizando pinos PWM tanto para Arduino quanto PIC, para ter recursos sobressalentes. Não precisa? Mas sabe como fazer? Então dá uma conferida!

Estou concluindo um projeto com controle de muitos LEDs utilizando PWM. Um dos problemas é que cada LED consome 20mA, o outro é que se eu quiser acender 50 LEDs precisarei de 50 pinos PWM!
Para resolver esse problema, utilizei o CI ULN2003A, que fornece até 500mA por saída. Se precisar PWMs de diferentes comprimentos, obviamente será necessário utilizar mais pinos e esse CI fornece diversas saídas, o que permite então colocar uma penca de LEDs por pino!

Como pode-se ver no desenho acima, o último pino abaixo à esquerda é o ground; o último pino à direita é VCC, onde se pode entrar com até 30V.

Coloquei 3 LEDs aproveitando o mesmo PWM para exemplificar abaixo:

uln2003a.webp

E um código bem simples para testar o PWM:


int i;
void setup(){
    Serial.begin(9600);
    pinMode(3,OUTPUT);
}

void loop(){
    for (i=0;i<256;i++){
        analogWrite(3,i);
        delay(5);
    }
    for (i=255;i>-1;i--){
        analogWrite(3,i);
        delay(5);
    }
}

E o vídeo para comprovar o funcionamento.

É um post simples apenas para servir como referência para a utilização do ULN2003A; certamente será útil (pelo menos para mim, quando eu me esquecer de como utilizá-lo)!

Se gostou, não deixe de compartilhar; dê seu like no video e inscreva-se no nosso canal Manual do Maker Brasil no YouTube.

Próximo post a caminho!

Nome do Autor

Djames Suhanko

Autor do blog "Do bit Ao Byte / Manual do Maker".

Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.