



Como já sabemos, o Arduino nos permite controlar diversos tipos de componentes eletrônicos. No post de hoje você vai aprender a controlar uma fita de LED RGB utilizando apenas transistores, resistores e um Arduino UNO. Confira abaixo toda a explicação sobre o funcionamento do circuito:
Fitas de LED são fontes de luz flexíveis usadas para os mais diversos fins. Graças à sua gama de cores, seu baixo custo e principalmente sua versatilidade, são empregadas em diversos cenários como iluminação de fundo e composição de cenários, como sancas de gesso, móveis, etc. Existem basicamente três tipos de fita de LED no mercado: as fitas de cor sólida, fitas RGB simples e fitas RGB endereçáveis. Vamos conhecer um pouco mais sobre cada uma delas:
SIM!!! Como dito anteriormente, as fitas RGB nos permitem programar as cores através de algum microcontrolador, seja ele controlando chaves eletrônicas (como transistores, para as fitas RGB tradicionais) ou controlando diretamente cada um dos LEDs, no caso das fitas endereçáveis. Para o post de hoje, vamos te ensinar a controlar uma fita RGB tradicional utilizando o Arduino e alguns poucos componentes. Veja os materiais necessários:
Para esse projeto, vamos precisar de:
Para o post de hoje, vamos utilizar uma fita RGB tradicional. Você pode conferir o diagrama de montagem na imagem a seguir:
É importante lembrar que você pode utilizar a fita RGB do tamanho que desejar, desde que dimensione corretamente a fonte de alimentação. Note também que utilizamos pinos PWM do Arduino. É de suma importância que sempre utilize pinos PWM (os que possuem um ~ na frente do número), pois precisaremos variar o pulso de saída entre 0 e 255, gerando assim as cores.

Cores do padrão RGB. Créditos: PUC-RJ
Para ter acesso à paleta de cores do Paint, basta clicar em Editar Imagem. Na janela que for exibida, você tem os valores RGB para a cor selecionada.
Na imagem a seguir você pode observar como são obtidas 4 cores no padrão RGB: Vermelho, Verde, Azul e Branco:
Na tabela abaixo, você pode conferir a combinação de valores para formar outras cores à partir das primárias, como Branco, Magenta, Amarelo e Ciano:
Tendo em mente o conceito por trás das combinações que formam o RGB, podemos partir para a função analogWrite, responsável por controlar o PWM no Arduino. Como sabemos, os pinos digitais trabalham apenas com 0 ou 1 (HIGH ou LOW) através da função digitalWrite. No caso das fitas, precisamos variar esse sinal digital na saída do Arduino para que outras cores sejam formadas e por isso utilizamos a função analogWrite, além das portas compatíveis com a modulação por largura de pulso (PWM). De forma simples, o PWM é uma artimanha da eletrônica digital para controlar a potência de uma carga através de pulsos que variam de 0 (desligado) a 255 (tensão máxima). Seu funcionamento é simples e se baseia em ligar e desligar a saída em altas frequências, variando o ciclo médio de trabalho ativo (duty cycle) em função do tempo em que o sinal enviado está em nível alto. A consequência disso é uma variação percentual da tensão aplicada na carga, o que resulta, por exemplo, na alteração da velocidade de rotação de um motor ou no brilho de um LED.
Para entender melhor seu funcionamento, veja o gif abaixo:
Apresentada toda a teoria e o diagrama do circuito, vamos aos códigos. Preparamos para você 3 efeitos: pisca pisca RGB, strobo e fade. Você pode conferir o código, uma breve descrição sobre o efeito e seu funcionamento logo a seguir, lembrando que toda a explicação do código está comentada ao longo do mesmo.
/* ===== Controlando fita de LED RGB com o Arduino =====
Autor: Eletrogate
Data: 01/09/2021
===================================================== */
//nomeando os pinos PWM do arduino conforme as cores do padrão RGB
#define R 11
#define G 10
#define B 9
//variáveis de controle para cada cor do padrão RGB
int vermelho, verde, azul;
void setup() {
//setando os pinos PWM do Arduino como saída
pinMode(R, OUTPUT);
pinMode(G, OUTPUT);
pinMode(B, OUTPUT);
}
void loop(){
//Acende apenas a cor VERMELHA e aguarda 1s
analogWrite(G, 0);
analogWrite(B, 0);
analogWrite(R, 255);
delay(1000);
//Acende apenas a cor VERDE e aguarda 1s
analogWrite(R, 0);
analogWrite(G, 255);
delay(1000);
//Acende apenas a cor AZUL e aguarda 1s
analogWrite(G, 0);
analogWrite(B, 255);
delay(1000);
//Acende todas as cores no máximo formando a luz branca e aguarda 1s
analogWrite(R, 255);
analogWrite(G, 255);
analogWrite(B, 255);
delay(1000);
//reinicia o processo
}
/* ===== Controlando fita de LED RGB com o Arduino =====
Autor: Eletrogate
Data: 01/09/2021
===================================================== */
//nomeando os pinos PWM do arduino conforme as cores do padrão RGB
#define R 11
#define G 10
#define B 9
//variáveis de controle para cada cor do padrão RGB
int vermelho, verde, azul;
void setup() {
//setando os pinos PWM do Arduino como saída
pinMode(R, OUTPUT);
pinMode(G, OUTPUT);
pinMode(B, OUTPUT);
}
void loop(){
//liga os leds formando a cor branca por 1s
analogWrite(R, 255);
analogWrite(G, 255);
analogWrite(B, 255);
delay(100);
//desliga todas as cores por 1s
analogWrite(R, 0);
analogWrite(G, 0);
analogWrite(B, 0);
delay(100);
//reinicia o processo
}
/* ===== Controlando fita de LED RGB com o Arduino =====
Autor: Eletrogate
Data: 01/09/2021
===================================================== */
//nomeando os pinos PWM do arduino conforme as cores do padrão RGB
#define R 11
#define G 10
#define B 9
//variáveis de controle para cada cor do padrão RGB
int vermelho, verde, azul;
void setup() {
//setando os pinos PWM do Arduino como saída
pinMode(R, OUTPUT);
pinMode(G, OUTPUT);
pinMode(B, OUTPUT);
}
void loop() {
//incrementa a cor vermelha gradativamente, atingindo a cor magenta
for (vermelho = 0; vermelho <= 255; vermelho++){
analogWrite(R, vermelho);
delay(10);
}
//remove a cor azul gradativamente, atingindo a cor vermelha pura
for (azul = 255; azul >= 0; azul--){
analogWrite(B, azul);
delay(10);
}
//incrementa a cor verde gradativamente, atingindo a cor amarela
for (verde = 0; verde <= 255; verde++){
analogWrite(G, verde);
delay(10);
}
//remove a cor vermelha gradativamente, atingindo a cor verde pura
for (vermelho = 255; vermelho >= 0; vermelho--){
analogWrite(R, vermelho);
delay(10);
}
//adiciona a cor azul gradativamente, atingindo a cor ciano
for (azul = 0; azul <= 255; azul++){
analogWrite(B, azul);
analogWrite(R, azul);
delay(10);
}
//remove a cor verde gradativamente, atingindo a cor azul pura
for (verde = 255; verde >= 0; verde--){
analogWrite(G, verde);
analogWrite(R, verde);
delay(10);
}
//reinicia o ciclo
}
Concluímos aqui a primeira parte de dois posts sobre o controle de fitas de LED com o Arduino. No próximo post da série falaremos sobre as fitas endereçáveis e suas particularidades, além da programação com nosso querido Arduino. Esperamos que esse post tenha contribuído para aumentar seu conhecimento sobre o mundo da programação e da eletrônica. Fique agora com um spoiler dos efeitos que poderemos criar com a fita que utilizaremos na parte 2 desse post.
Um forte abraço e até a próxima!Se você se interessou em montar esse circuito e criar novos efeitos, compartilhe os resultados com a gente no Instagram. Visite também a nossa loja e confira os produtos e condições especiais que só a Eletrogate pode proporcionar! Tenha a Metodologia Eletrogate na sua Escola! Conheça nosso Programa de Robótica Educacional.
|
Como já sabemos, o Arduino nos permite controlar diversos tipos de componentes eletrônicos. No post de hoje você vai aprender a controlar uma fita de LED RGB utilizando apenas transistores, resistores e um Arduino UNO. Confira no post de hoje toda a explicação e funcionamento desse circuito.
Encontre tudo na Loja Eletrogate com frete grátis para compras acima de R$ 200