Arduino UNO R4 - LED RGB

Este tutorial ensina como usar o Arduino para controlar o LED RGB. Em detalhes, vamos aprender:

Arduino UNO R4 LED RGB

Sobre o LED RGB

O LED RGB pode criar qualquer cor misturando as três cores primárias: vermelho, verde e azul. Ele contém três LEDs separados: um vermelho, um verde e um azul. Todos ficam reunidos em uma única peça.

Pinagem

Um LED RGB tem quatro pinos.

  • Conecte o pino Comum (Catodo-) ao GND (0V).
  • O pino R (vermelho) controla a cor vermelha.
  • O pino G (verde) controla a cor verde.
  • O pino B (azul) controla a cor azul.
Pinagem do LED RGB

Para conectar um LED RGB a um Arduino UNO R4, devemos usar resistores que limitam a corrente, o que deixa a montagem um pouco complicada. No entanto, podemos usar o módulo LED RGB, que já tem esses resistores embutidos.

O módulo LED RGB também tem quatro pinos.

  • O pino Comum (Catodo-) deve ser conectado ao GND (0V).
  • O pino R (vermelho) controla a cor vermelha.
  • O pino G (verde) controla a cor verde.
  • O pino B (azul) controla a cor azul.
Pinagem do Módulo LED RGB

※ Nota:

Este tutorial usa um LED RGB com catodo comum. Isso significa que o pino comum é o catodo. Outros LEDs RGB podem ter o pino comum como anodo.

Como funciona

Na física, uma cor é formada por três valores: Vermelho (R), Verde (G) e Azul (B). Cada valor pode ir de 0 a 255.

⇒ Existe um total de 256 x 256 x 256 cores criadas pela combinação de três valores diferentes.

⇒ Se enviarmos sinais PWM (com duty cycle entre 0 e 255) aos pinos R, G e B, podemos fazer o LED RGB mostrar qualquer cor que escolhermos. O duty cycle dos sinais PWM nos pinos R, G e B corresponde aos valores de cor Vermelho (R), Verde (G) e Azul (B).

Diagrama de Ligação

  • Diagrama de ligação entre o Arduino UNO R4 e um LED RGB.
Diagrama de ligação do LED RGB com Arduino UNO R4

This image is created using Fritzing. Click to enlarge image

Não use um único resistor no pino comum de um LED RGB. Em vez disso, use três resistores separados nos outros pinos, como no diagrama acima. Os diferentes LEDs dentro do encapsulamento RGB não têm exatamente as mesmas características, o que significa que eles não dividem a corrente por igual. Isso pode causar brilho irregular e, possivelmente, danificar os LEDs se você usar um único resistor no pino comum.

  • Diagrama de ligação entre o Arduino UNO R4 e um módulo LED RGB
Diagrama de ligação do módulo LED RGB com Arduino UNO R4

This image is created using Fritzing. Click to enlarge image

Veja A melhor forma de alimentar o Arduino Uno R4 e outros componentes.

Como Controlar o LED RGB

Vamos aprender passo a passo como mudar o LED RGB para qualquer cor, por exemplo, a cor #00979D.

  • Escolha a cor que você quer usar e encontre o código dela.
  • Converta o código da cor em valores RGB usando esta ferramenta. Lembre-se destes valores: R = 0, G = 151, B = 157.
Seletor de cores do LED RGB
  • Defina os pinos do Arduino UNO R4 que se conectam aos pinos R, G e B. Por exemplo:
#define PIN_RED 9 // Arduino UNO R4 pin connected to the LED's red pin #define PIN_GREEN 6 // Arduino UNO R4 pin connected to the LED's green pin #define PIN_BLUE 3 // Arduino UNO R4 pin connected to the LED's blue pin
  • Configure esses pinos do Arduino UNO R4 como saídas.
pinMode(PIN_RED, OUTPUT); pinMode(PIN_GREEN, OUTPUT); pinMode(PIN_BLUE, OUTPUT);
  • Programe o pino do Arduino para gerar um sinal PWM e mostrar a cor (#00979D; R = 0, G = 151, B = 157).
analogWrite(PIN_RED, 0); analogWrite(PIN_GREEN, 151); analogWrite(PIN_BLUE, 157);

Arduino UNO R4 - Código de Exemplo do LED RGB

O código abaixo muda a cor do LED nesta ordem:

  • #00C9CC (R = 0, G = 201, B = 204)
  • #F7788A (R = 247, G = 120, B = 138)
  • #34A853 (R = 52, G = 168, B = 83)
/* * Este código de Arduino UNO R4 foi desenvolvido por pt.newbiely.com * Este código de Arduino UNO R4 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-rgb-led */ #define PIN_RED 9 // Arduino UNO R4 pin connected to the LED's red pin #define PIN_GREEN 6 // Arduino UNO R4 pin connected to the LED's green pin #define PIN_BLUE 3 // Arduino UNO R4 pin connected to the LED's blue pin void setup() { pinMode(PIN_RED, OUTPUT); // Set red LED pin as an output pinMode(PIN_GREEN, OUTPUT); // Set green LED pin as an output pinMode(PIN_BLUE, OUTPUT); // Set blue LED pin as an output } void loop() { // Set RGB LED to teal color #00C9CC (R = 0, G = 201, B = 204) analogWrite(PIN_RED, 0); analogWrite(PIN_GREEN, 201); analogWrite(PIN_BLUE, 204); delay(1000); // Maintain color for 1 second // Set RGB LED to salmon pink #F7788A (R = 247, G = 120, B = 138) analogWrite(PIN_RED, 247); analogWrite(PIN_GREEN, 120); analogWrite(PIN_BLUE, 138); delay(1000); // Maintain color for 1 second // Set RGB LED to Google green #34A853 (R = 52, G = 168, B = 83) analogWrite(PIN_RED, 52); analogWrite(PIN_GREEN, 168); analogWrite(PIN_BLUE, 83); delay(1000); // Maintain color for 1 second }

Ao usar muitas cores, podemos encurtar o código criando uma função:

/* * Este código de Arduino UNO R4 foi desenvolvido por pt.newbiely.com * Este código de Arduino UNO R4 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-rgb-led */ #define PIN_RED 9 // Arduino UNO R4 pin connected to the LED's red pin #define PIN_GREEN 6 // Arduino UNO R4 pin connected to the LED's green pin #define PIN_BLUE 3 // Arduino UNO R4 pin connected to the LED's blue pin void setup() { pinMode(PIN_RED, OUTPUT); // Set RED LED pin as an output pinMode(PIN_GREEN, OUTPUT); // Set GREEN LED pin as an output pinMode(PIN_BLUE, OUTPUT); // Set BLUE LED pin as an output } void loop() { // Set RGB color to teal setColor(0, 201, 204); delay(1000); // Wait for 1 second // Set RGB color to soft red setColor(247, 120, 138); delay(1000); // Wait for 1 second // Set RGB color to green setColor(52, 168, 83); delay(1000); // Wait for 1 second } void setColor(int R, int G, int B) { analogWrite(PIN_RED, R); // Write RED value to RED LED analogWrite(PIN_GREEN, G); // Write GREEN value to GREEN LED analogWrite(PIN_BLUE, B); // Write BLUE value to BLUE to LED }

Conhecimento Adicional

  • Para configurar um LED RGB com anodo comum:
    • Conecte o pino comum ao pino 3.3V do Arduino UNO R4.
    • Na função analogWrite(), ajuste os valores de R, G e B para 255 - R, 255 - G e 255 - B, respectivamente.
  • Uma série de LEDs RGB conectados forma uma Fita LED RGB. Existem dois tipos de fitas LED: endereçáveis e não endereçáveis. Vamos fornecer tutoriais para cada tipo.

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!