Neste projeto iremos fazer a interface de 5 LEDs RGB (Red Green Blue) para o Arduino Uno. Esses LEDs são conectados em paralelo para reduzir o uso de PIN do Uno.
Um LED RGB típico é mostrado na figura abaixo:
O LED RGB terá quatro pinos, conforme mostrado na figura.
PIN1: Terminal negativo da cor 1 ou terminal positivo da cor 1
PIN2: positivo comum para todas as três cores ou negativo comum para todas as três cores
PIN3: Terminal negativo da cor 2 ou terminal positivo da cor 2
PIN4: Terminal negativo de cor 3 ou terminal positivo de cor 3
Portanto, existem dois tipos de LEDs RGB, um é do tipo cátodo comum (negativo comum) e outro é do tipo ânodo comum (positivo comum). Em CC (cátodo comum ou negativo comum), haverá três terminais positivos, cada terminal representando uma cor e um terminal negativo representando todas as três cores. O circuito interno de um LED CC RGB pode ser representado como abaixo.
Se quisermos que o VERMELHO esteja ligado acima, precisamos ligar o pino do LED VERMELHO e aterrar o negativo comum. O mesmo vale para todos os LEDs. Em CA (ânodo comum ou positivo comum), haverá três terminais negativos, cada terminal representando uma cor e um terminal positivo representando todas as três cores. O circuito interno de um LED CA RGB pode ser representado como mostrado na figura..
Se quisermos que o VERMELHO esteja ligado acima, precisamos aterrar o pino do LED VERMELHO e alimentar o positivo comum. O mesmo vale para todos os LEDs.
Em nosso circuito vamos usar o tipo CA (ânodo comum ou positivo comum). Para conectar 5 LEDs RGB ao Arduino, geralmente precisamos de 5x4 = 20 PINS, pois vamos reduzir esse uso de PIN para 8 conectando LEDs RGB em paralelo e usando uma técnica chamada multiplexação.
Componentes
Hardware: UNO, fonte de alimentação (5v), resistor de 1KΩ (3 peças), LED RGB (vermelho, verde e azul) (5 peças)
Software: Atmel studio 6.2 ou Aurdino noturno.
Circuito e explicação de trabalho
A conexão do circuito para interface RGB LED Arduino é mostrada na figura abaixo.
Agora, para a parte complicada, digamos que queremos ativar o LED VERMELHO em SET1 e o LED VERDE em SET2. Energizamos o PIN8 e PIN9 do UNO, e aterramos o PIN7, PIN6.
Com esse fluxo teremos VERMELHO no primeiro SET e VERDE no segundo SET ON, mas teremos GREEN no SET1 e VERMELHO no SET2 ON com ele. Por analogia simples, podemos ver todos os quatro LEDs fechando o circuito com a configuração acima e todos brilham.
Portanto, para eliminar esse problema, ligaremos apenas um SET por vez. Digamos que em t = 0m SEC, SET1 está sintonizado em ON. Em t = 1m SEC, SET1 é ajustado para OFF e SET2 é ligado. Novamente em t = 6m SEC, SET5 é DESLIGADO e SET1 é LIGADO. Isso continua.
Aqui, o truque é que o olho humano não pode capturar uma frequência superior a 30 Hz. Isso se um LED acender e apagar continuamente a uma taxa de 30 Hz ou mais. O olho vê o LED continuamente LIGADO. No entanto, este não é o caso. O LED ficará constantemente LIGADO e DESLIGADO. Essa técnica é chamada de multiplexação.
Simplesmente falando vamos alimentar cada cátodo comum de 5 SETs 1milhões de segundo, então em 5milhões de segundo teremos completado o ciclo, depois disso o ciclo começa a partir de SET1 novamente, isso continua para sempre. Uma vez que os LED SETs estão ligando e desligando muito rápido. O humano prevê que todos os SETs estão LIGADOS o tempo todo.
Então, quando energizamos SET1 em t = 0 mili segundo, aterramos o pino VERMELHO. Em t = 1 milissegundo, energizamos o SET2 e aterramos o pino VERDE (neste momento, VERMELHO e AZUL estão ALTOS). O loop é rápido e o olho vê um brilho VERMELHO no PRIMEIRO CONJUNTO e um brilho VERDE no SEGUNDO CONJUNTO.
É assim que programamos um LED RGB, vamos iluminar todas as cores lentamente no programa para ver como funciona a multiplexação.