Como usar um módulo de LED RGB com Arduino 1

Como usar um módulo de LED RGB com Arduino

Talvez um dos módulos mais comuns em um kit inicial do Arduino, o LED RGB permite criar todos os tipos de cores com apenas quatro pinos do Arduino. Este tutorial demonstra duas maneiras de usar este módulo, então continue lendo para saber como ele funciona!

O que é um módulo LED RGB?

Um módulo LED RGB usa um tipo especial de luz LED que pode emitir três cores: vermelho, verde e azul. No entanto, você pode criar qualquer cor que possa imaginar, alterando qual delas está ativada e misturando o brilho de cada uma.

Existem duas maneiras de iluminar um módulo LED RGB em qualquer placa Arduino. O método usual é usar os pinos analógicos do Arduino para enviar sinais PWM ao módulo. Isso permite que você misture cada cor, dando a você controle total sobre o LED RGB.

Enquanto isso, a outra opção (digital) é usar os pinos 11, 12, 13 e GND conectando o módulo ao Arduino como faria com um shield. Isso economiza espaço ao não exigir fios de jumper para cada pino, mas troca um controle preciso sobre a tonalidade e o brilho do LED. Além disso, a configuração só funciona se o módulo tiver pinos que se encaixem corretamente na placa Arduino, como o HW-479 que estamos usando neste guia.

Como funcionam os LEDs RGB

A esta altura, você deve estar se perguntando como um único módulo LED RGB emite três cores. Você pode se surpreender ao saber que um LED RGB não é apenas 1 LED sofisticado, mas três LEDs menores envoltos em um LED maior. Esses mini LEDs compartilham o mesmo pino de aterramento, que deve ser o mais longo dos quatro pinos em um LED RGB.

led rgb smd
Fonte da imagem: Wikimedia Commons

Se você tiver um LED RGB vazio em vez de um módulo em uma placa de breakout, poderá criar algo semelhante a um módulo conectando resistores em cada um dos pinos coloridos. O valor da resistência varia de acordo com o fabricante, mas 220Ω por perna é uma aposta segura.

Dica: aprenda como alimentar lâmpadas usando Arduino com um módulo de relé.

O que você precisará

Se você estiver pronto para começar, precisará desses itens para fazer esse projeto decolar.

hardware

  • Módulo LED RGB HW-479
  • Fios jumper (se estiver usando o método analógico)
  • arduino

Programas

  • A IDE do Arduino ou
  • A extensão PlatformIO para Visual Studio Code

Como usar um módulo de LED RGB usando o método digital

Este método só funciona em placas Arduino com um pino GND próximo ao pino 13. Exemplos são o Uno, Duemilanove, Mega e Leonardo. Se você tiver uma placa de microcontrolador baseada em Arduino não oficial, verifique se ela está usando cabeçalhos de pinos fêmeas. Módulos de LED RGB são normalmente em cabeçalhos masculinos.

Preparando o Código

  1. Primeiro, defina os pinos: 11 para azul, 12 para verde e 13 para vermelho.
const int blueLED = 11;
const int greenLED = 12;
const int redLED = 13;
  1. Sobre setup()defina esses pinos como pinos de saída.
void setup() {
  pinMode(blueLED, OUTPUT);
  pinMode(greenLED, OUTPUT);
  pinMode(redLED, OUTPUT);
}
  1. Sobre loop(), adicione energia a um pino, pause o código por 1000 milissegundos (1 segundo) e ligue o próximo até que todos os pinos sejam alimentados. Finalmente, desligue-os um por um.
void loop() {
  digitalWrite(blueLED, HIGH);
  delay(1000);
  digitalWrite(greenLED, HIGH);
  delay(1000);
  digitalWrite(redLED, HIGH);
  delay(1000);
  digitalWrite(blueLED, LOW);
  delay(1000);
  digitalWrite(greenLED, LOW);
  delay(1000);
  digitalWrite(redLED, LOW);
  delay(1000);
}

Esta é a versão completa do código:

const int blueLED = 11;
const int greenLED = 12;
const int redLED = 13;
 
void setup() {
  pinMode(blueLED, OUTPUT);
  pinMode(greenLED, OUTPUT);
  pinMode(redLED, OUTPUT);
}
 
void loop() {
  digitalWrite(blueLED, HIGH);
  delay(1000);
  digitalWrite(greenLED, HIGH);
  delay(1000);
  digitalWrite(redLED, HIGH);
  delay(1000);
  digitalWrite(blueLED, LOW);
  delay(1000);
  digitalWrite(greenLED, LOW);
  delay(1000);
  digitalWrite(redLED, LOW);
  delay(1000);
}

Construindo o Circuito

O circuito é simples. Aponte o pino “-” do módulo LED RGB para o pino GND do Arduino. Se você alinhá-lo corretamente, os outros três pinos devem entrar nos pinos 13, 12 e 11.

Módulo Hw 479 Rgb Led montado diretamente no Arduino Uno

Fazendo funcionar

Depois de carregar o código no Arduino, você deve ver as cores do LED RGB mudarem a cada segundo.

Você pode editar o código e fazê-lo mostrar duas ou todas as cores ao mesmo tempo, girando-as para HIGH juntos antes do delay() função, assim:

digitalWrite(redLED, HIGH);
digitalWrite(greenLED, HIGH);
delay(1000);

Apenas começando com microcontroladores? Confira nossa comparação Arduino Uno e ESP32 para decidir qual você deve obter.

Como usar um módulo de LED RGB usando o método PWM

Este método oferece um controle mais preciso em comparação com o método anterior. A cor do LED depende da proporção dos ciclos de trabalho entre os pinos 9, 10 e 11. Quanto maior a proporção em relação a uma cor, mais forte ela se torna na mistura.

Além disso, aumentar o ciclo de trabalho aumenta o brilho do LED. Se você aumentar todos os ciclos de trabalho mantendo a mesma proporção, acabará com um LED RGB muito brilhante.

Preparando o Código

  1. Defina os pinos: 9 para azul, 10 para verde e 11 para vermelho.
const int blueLED = 9;
const int greenLED = 10;
const int redLED = 11;
  1. Transforme-os em pinos de saída.
void setup() {
  pinMode(blueLED, OUTPUT);
  pinMode(greenLED, OUTPUT);
  pinMode(redLED, OUTPUT);
}
  1. Sobre loop()use o analogWrite() função em vez de digitalWrite() para controlar os ciclos de trabalho dos pinos. O processo é semelhante ao uso de PWM para controlar servomotores com um Raspberry Pi, exceto que estamos usando C++ em vez de Python.
void loop() {
  analogWrite(greenLED, 25);
  analogWrite(blueLED, 50);
  delay(250);
  analogWrite(greenLED, 50);
  delay(250);
  analogWrite(greenLED, 100);
  delay(250);
  analogWrite(greenLED, 150);
  delay(250);
  analogWrite(greenLED, 125);
  delay(250);
  analogWrite(greenLED, 80);
  delay(250);
  analogWrite(greenLED, 40);
  delay(250);
  analogWrite(greenLED, 20);
  delay(250);
  analogWrite(greenLED, 0);
  delay(250);
}

Construindo o Circuito

Usando fios jumper, conecte os pinos B, G e R aos pinos 9, 10 e 11. Conecte o GND ou o pino a qualquer um dos pinos GND do Arduino.

Módulo Led Rgb Hw 479 Conectado ao Arduino 1

Fazendo funcionar

Você deve ter notado que desta vez usamos apenas duas cores: verde e azul. Isso facilita a visualização dos efeitos da alteração das proporções na cor geral do LED RGB. O LED parece azul profundo e se torna turquesa antes de atingir o clímax em um ciano esverdeado, depois voltando a um azul profundo.

Além disso, você pode combinar isso com o método anterior usando o pino 11 como um pino analógico para controlar o brilho do pino azul.

Quer outro projeto divertido para experimentar? Aprenda a usar um Raspberry Pi para fazer um Arduino Uno piscar.

perguntas frequentes

O que acontece se eu adicionar um resistor extra no módulo LED RGB?

Os módulos de LED RGB já possuem resistores embutidos. Se você adicionar outro, apenas tornará o seu mais escuro do que deveria, enquanto funcionava com a mesma quantidade de tensão e corrente.

O que faz um LED acender?

Os LEDs criam luz através de um processo chamado eletroluminescência, uma propriedade de certos materiais que se ilumina quando afetados por um campo eletromagnético. Eles são feito de semicondutores à base de gálio que emitem luz em vez de calor.

Por que os LEDs não acendem quando conectados na direção oposta?

LEDs são diodos – daí o nome emissor de luz diodos. Todos os diodos deixam a eletricidade passar de um lado, mas não do outro. Suas partes de cátodo e ânodo são normalmente feitas de dois materiais diferentes que, quando pressionados juntos, forçam os elétrons a gastar mais energia para ir para o outro lado, como um carro em uma subida íngreme.

Por que as TVs usam LEDs vermelhos?

Em comparação com outros LEDs, os LEDs vermelhos podem iluminar intensamente usando menos energia em comparação com outros LEDs coloridos com o mesmo tamanho, o que os torna ótimas opções como LEDs indicadores quando os fabricantes de TV planejam eficiência energética em seus produtos.

Terenz Jomar Dela Cruz
Terenz Jomar Dela Cruz

Terenz é um roboticista amador tentando construir o robô mais incrível que o mundo já viu. Ele já poderia ter feito isso se não estivesse tão ocupado queimando LEDs como um segundo hobby.

Apoie o nosso trabalho ❤️

Se você gostou deste artigo, considere deixar uma gorjeta para nos ajudar a continuar publicando conteúdo de qualidade.

Pagamento seguro no PayPal
Veja também:  Odisseia Woke Conquista Bilheteria Global Enquanto Direita Reage
Moyens I/O Staff motivou você, dando conselhos sobre tecnologia, desenvolvimento pessoal, estilo de vida e estratégias que irão ajudá-lo.