Arduino Nano - LED RGB

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

Hardware Necessário

1×Official Arduino Nano
1×Alternatively, DIYables Nano V3.0 Development Board
1×Cabo USB A para Mini-B
1×RGB LED
3×220 ohm Resistor
1×(Alternativa) Módulo LED RGB
1×Protoboard
1×Fios Jumper
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para Arduino Nano
1×(Recomendado) Placa de Expansão Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentação para Arduino Nano

Or you can buy the following kits:

1×DIYables Sensor Kit (18 sensors/displays)
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.

Sobre o LED RGB

O LED RGB é capaz de produzir qualquer cor combinando as três cores primárias: vermelho, verde e azul. Ele é construído com três LEDs distintos (vermelho, verde ou azul) alojados em um único encapsulamento.

Pinagem do LED RGB

Um LED RGB tem quatro pinos:

  • Pino comum (Cátodo-): deve ser conectado ao GND (0V)
  • R (vermelho): o pino é usado para ajustar o vermelho
  • G (verde): o pino é usado para ajustar o verde
  • B (azul): o pino é usado para ajustar o azul
Pinagem do LED RGB

Para fazer um LED RGB funcionar com o Arduino Nano, precisamos de alguns resistores limitadores de corrente. Pode ser bem complicado ligar tudo. Mas, felizmente, podemos usar este bacana módulo LED RGB, que já vem com esses resistores embutidos!

O módulo LED RGB também inclui quatro pinos:

  • Pino comum (Cátodo-): precisa ser conectado ao GND (0V)
  • R (vermelho): o pino é usado para controlar o vermelho
  • G (verde): o pino é usado para controlar o verde
  • B (azul): o pino é usado para controlar o azul
Pinagem do Módulo LED RGB

※ Nota:

O pino comum do LED RGB pode ser um cátodo ou um ânodo, dependendo do tipo de LED RGB. Este tutorial usa um de cátodo comum.

Como funciona

Na física, uma cor é formada por três componentes: Vermelho (R), Verde (G) e Azul (B). O intervalo de cada valor de cor vai de 0 a 255. A combinação dos três valores cria um total de 256 x 256 x 256 cores.

Podemos usar o Arduino Nano para criar qualquer cor que desejarmos, fornecendo sinais PWM (com ciclo de trabalho de 0 a 255) aos pinos R, G e B de um LED RGB.

O ciclo de trabalho dos sinais PWM enviados aos pinos R, G e B é proporcional aos valores das cores Vermelho (R), Verde (G) e Azul (B), respectivamente.

Diagrama de Ligação

  • Diagrama de ligação entre o Arduino Nano e o LED RGB
Diagrama de ligação do LED RGB com Arduino Nano

This image is created using Fritzing. Click to enlarge image

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

This image is created using Fritzing. Click to enlarge image

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

Como Controlar o LED RGB

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

  • Primeiro, determine qual cor você quer exibir e obtenha o código dela. Dicas:
  • Depois, converta o código da cor em valores R, G, B usando a ferramenta do w3school. Anote esses valores. Neste caso: R = 0, G = 151, B = 157
Seletor de cores do LED RGB
  • Especifique os pinos do Arduino Nano que estão conectados aos pinos R, G e B. Por exemplo:
const int PIN_RED = 11; const int PIN_GREEN = 10; const int PIN_BLUE = 9;
  • Configure os pinos do Arduino Nano como saída:
pinMode(PIN_RED, OUTPUT); pinMode(PIN_GREEN, OUTPUT); pinMode(PIN_BLUE, OUTPUT);
  • Controle o LED para que ele emita a cor #00979D, composta por Vermelho = 0, Verde = 151 e Azul = 157.
analogWrite(PIN_RED, 0); analogWrite(PIN_GREEN, 151); analogWrite(PIN_BLUE, 157);

Arduino Nano - Código de Exemplo do LED RGB

O código do Arduino Nano abaixo muda a cor do LED em uma ordem específica:

  • #00C9CC (Vermelho = 0, Verde = 201, Azul = 204)
  • #F7788A (Vermelho = 247, Verde = 120, Azul = 138)
  • #34A853 (Vermelho = 52, Verde = 168, Azul = 83)
/* * Este código de Arduino Nano foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano/arduino-nano-led-rgb */ const int PIN_RED = 11; const int PIN_GREEN = 10; const int PIN_BLUE = 9; void setup() { pinMode(PIN_RED, OUTPUT); pinMode(PIN_GREEN, OUTPUT); pinMode(PIN_BLUE, OUTPUT); } void loop() { // color code #00C9CC (R = 0, G = 201, B = 204) analogWrite(PIN_RED, 0); analogWrite(PIN_GREEN, 201); analogWrite(PIN_BLUE, 204); delay(1000); // keep the color 1 second // color code #F7788A (R = 247, G = 120, B = 138) analogWrite(PIN_RED, 247); analogWrite(PIN_GREEN, 120); analogWrite(PIN_BLUE, 138); delay(1000); // keep the color 1 second // color code #34A853 (R = 52, G = 168, B = 83) analogWrite(PIN_RED, 52); analogWrite(PIN_GREEN, 168); analogWrite(PIN_BLUE, 83); delay(1000); // keep the color 1 second }

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

/* * Este código de Arduino Nano foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano/arduino-nano-led-rgb */ const int PIN_RED = 11; const int PIN_GREEN = 10; const int PIN_BLUE = 9; void setup() { pinMode(PIN_RED, OUTPUT); pinMode(PIN_GREEN, OUTPUT); pinMode(PIN_BLUE, OUTPUT); } void loop() { // color code #00C9CC (R = 0, G = 201, B = 204) setColor(0, 201, 204); delay(1000); // keep the color 1 second // color code #F7788A (R = 247, G = 120, B = 138) setColor(247, 120, 138); delay(1000); // keep the color 1 second // color code #34A853 (R = 52, G = 168, B = 83) setColor(52, 168, 83); delay(1000); // keep the color 1 second } void setColor(int R, int G, int B) { analogWrite(PIN_RED, R); analogWrite(PIN_GREEN, G); analogWrite(PIN_BLUE, B); }

Conhecimento Adicional

Para um LED RGB de ânodo comum, você precisa:

  • Conectar o pino comum ao 3.3V do Arduino Nano.
  • Usar a função analogWrite() com os valores de R, G e B iguais a 255 menos o valor desejado para cada cor, respectivamente.

Uma sequência de LEDs RGB conectados forma a Fita LED RGB. As fitas LED podem ser divididas em fitas LED endereçáveis e fitas LED não endereçáveis. Vamos criar tutoriais para os dois tipos de fita LED.

※ Nota:

Não use um único resistor no pino comum de um LED RGB em vez de três resistores nos outros pinos.

Isso porque, embora em teoria seja aceitável usar um único resistor no pino comum, na prática não é assim. Os LEDs de um encapsulamento RGB não são idênticos, o que significa que os resistores de cada LED serão diferentes. Isso causará uma distribuição desigual de corrente, resultando em níveis de brilho diferentes e podendo danificar um ou mais LEDs e, por fim, os outros LEDs.

※ 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!