Controle de uma Fita LED RGB com o Arduino




Introdução

Fita LED RGB
Fita LED RGB

Neste tutorial vamos explicar como usar o seu Arduino para controlar a fita LED RGB de forma simples e prática. A fita possui LEDs com as cores primárias vermelho, verde e azul, por isso o nome RGB (Red, Green e Blue em inglês). Ela permite a possibilidade de formar outras cores misturando a intensidade de cada cor primária, por exemplo, com a ajuda de um potenciômetro. Agora que você sabe que é possível controlar a fita LED RGB, que tal começar o projeto?

Lista de Materiais

A lista de materiais foi dimensionada para um metro de fita LED, portanto é necessário redimensionar os componentes se seu projeto for utilizar um comprimento maior.

Primeiros Passos

Nessa primera etapa do tutorial, vamos acionar as cores da fita LED de maneira simples e rápida.

Preparando a Fita LED RGB

Antes de começar o projeto é necessário preparar a fita LED RGB, para que você consiga conectar ela ao seu circuito. Primeiro, você deve preparar a fita LED utilizando jumpers M/M de cor vermelha, verde e azul para conectar a fita à sua protoboard. Para isso, corte um lado de seu jumper para efetuar a solda nos pads de conexão da fita LED.

ATENÇÃO: Corte somente um lado do jumper porque a outra ponta (com o pino) vai ser conectada a protoboard.

Depois, descasque a ponta recém cortada e solde-a no pad respectivo da fita LED. Veja o resultado na imagem a seguir.

Solda Fita LED RGB
Solda de jumpers na Fita LED RGB

Circuito

Agora você pode montar o circuito abaixo.

Descricao Breve da Imagem
Circuito LED RGB

Programação

Carregue o código a seguir na sua BlackBoard.

Entendendo o Código

A primeira parte do código consiste em declarar as variáveis referentes aos pinos de cada cor da fita LED, dando a você a possibilidade de criar 7 cores diferentes. Na inicialização do programa (função setup()), configuramos os pinos como saídas. Em seguida, na função loop(), controlamos os pinos de cada cor para escolher como os LEDs acendem.

No trecho abaixo, repare que na primeira linha o pino referente à cor vermelha está em HIGH, o que significa que o LED vermelho é ligado, enquanto as outras cores estão em LOW, portanto desligadas. A mesma lógica é usada na sequência para ligar apenas as luzes verde e azul.

No último trecho do código, inserido abaixo, usamos as cores vermelha e azul em HIGH e a cor verde em LOW, criando assim a cor roxa.

O Que Deve Acontecer

Veja o resultado na animação a seguir.

Acionando fita LED RGB com sua BlackBoard
Acionando fita LED RGB com sua BlackBoard

Controle com Potenciômetros

Que tal agora acrescentar potenciômetros no seu projeto para misturar as cores da fita LED? Assim você pode utilizar as cores primárias para deixar seu projeto com cores diferentes.

Circuito

Monte o circuito como o da imagem abaixo.

Circuito LED RGB com Potenciômetros

Programação

Carregue o código a seguir na sua BlackBoard.

Entendendo o Código

Com a adição dos potenciômetros, o código controla a intensidade de cada cor da fita LED RGB utilizando sinais PWM, portanto passamos a usar a função analogWrite(). O PWM (modulação por largura de pulso) é um método que utiliza um pino digital para variar a energia sobre a carga. Essa variação é controlada pelo duty cycle (ciclo de trabalho), que é, para uma frequência fixa, a proporção do tempo em que a tensão fica em nível lógico alto no período da onda quadrada. Veja o exemplo abaixo, onde as linhas verdes indicam os intervalos dos ciclos da onda (período) e a linha preta representa o sinal PWM.

Demonstração de onda quadrada da função duty cycle
Fonte: https://www.arduino.cc/en/Tutorial/PWM

A função analogWrite() no Arduino é utilizada para definir o duty cycle de uma saída PWM e utiliza um parâmetro de 0 a 255, valores que equivalem a 0 e 100 % respectivamente. Como usamos os potenciômetros, cujas leituras vão de 0 a 1023, precisamos converter os valores lidos para valores dentro da faixa de leitura da função. Para isso utilizamos a função map().

A função map() converte um valor dentro de um intervalo para o valor equivalente dentro de um segundo intervalo. Por exemplo, considerando o intervalo de leitura potenciômetro, que é de 0 a 1023, e o intervalo aceito pela funçãoanalogWrite(), que é de 0 a 255, transformamos o valor lido de 512, que equivale a 50 % do potenciômetro, para o valor de 50 % da função, que é 127.

O Que Deve Acontecer

Diferentemente da primeira etapa, agora a intensidade de cada cor primária da fita LED RGB está sendo controlada pelos potenciômetros, dando a possibilidade de deixar sua fita LED RGB com a cor que você desejar.

Solução de Problemas

Caso uma cor não ligue, verifique as conexões dos jumpers e a posição dos transistores TIP122. Verifique também que a sua fonte de 12 V está alimentando corretamente o conjunto.

Avatar