Arduino Nano - LED RGB
Este tutorial ensina como usar o Arduino Nano para controlar um LED RGB. Em detalhes, vamos aprender:
- Como o LED RGB funciona.
- Como conectar um LED RGB a um Arduino Nano.
- Como programar o Arduino Nano para controlar a cor do LED RGB.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
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

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

※ 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

This image is created using Fritzing. Click to enlarge image
- Diagrama de ligação entre o Arduino Nano e o módulo LED RGB

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:
- Você pode escolher o código da cor desejada no seletor de cores
- Se quiser usar uma cor de uma imagem, use a ferramenta online Colors From Image
- 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

- Especifique os pinos do Arduino Nano que estão conectados aos pinos R, G e B. Por exemplo:
- Configure os pinos do Arduino Nano como saída:
- Controle o LED para que ele emita a cor #00979D, composta por Vermelho = 0, Verde = 151 e Azul = 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)
Ao usar muitas cores, podemos encurtar o código do Arduino Nano criando uma função:
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.