ESP8266 - LED RGB
Este tutorial ensina você a usar o ESP8266 para controlar um LED RGB. Em detalhes, vamos aprender:
- Como o LED RGB funciona.
- Como conectar um LED RGB a um ESP8266.
- Como programar o ESP8266 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 pode produzir qualquer cor combinando as três cores primárias: vermelho, verde e azul. Ele é composto por três LEDs distintos (vermelho, verde e azul), mas todos dentro de um único encapsulamento.
A Pinagem do LED RGB
Um LED RGB tem quatro pinos:
- O pino comum (catodo-) precisa ser ligado ao GND (0V)
- O pino R (vermelho) é usado para regular o vermelho
- O pino G (verde) é usado para regular o verde
- O pino B (azul) é usado para regular o azul

Para fazer um LED RGB funcionar com o ESP8266, precisamos adicionar resistores limitadores de corrente. Isso pode deixar a ligação um pouco complicada. Mas existe uma solução! Podemos usar um módulo LED RGB que já tem resistores embutidos. Bem fácil!
O módulo LED RGB também tem quatro pinos:
- Pino comum (Catodo-): 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 pode ser catodo ou anodo, dependendo do tipo de LED RGB. Este tutorial usará um pino comum catodo.
Como funciona
No campo da física, três valores de cor formam uma cor: Vermelho (R), Verde (G) e Azul (B). Cada valor varia de 0 a 255. A combinação dos três valores produz um total de 256 x 256 x 256 cores.
Podemos configurar o LED RGB para qualquer cor que quisermos usando o ESP8266 para gerar sinais PWM (de 0 a 255) para os pinos R, G e B. O duty cycle dos sinais PWM enviados aos pinos R, G e B é proporcional aos valores de cor de Vermelho, Verde e Azul, respectivamente.
Diagrama de Ligação
- Diagrama de ligação entre o ESP8266 e o LED RGB

This image is created using Fritzing. Click to enlarge image
Para mais informações, veja Pinagem do ESP8266 e como alimentar o ESP8266 e outros componentes.
- Diagrama de ligação entre o ESP8266 e o módulo LED RGB

This image is created using Fritzing. Click to enlarge image
Como Controlar o LED RGB
Vamos aprender, passo a passo, como controlar o LED GRB para qualquer cor, por exemplo #00979D:
- Primeiro, decida 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 você quiser usar uma cor de uma imagem, use a ferramenta online Colors From Image
- Depois, converta o código da cor para valores R, G, B usando a ferramenta do w3school. Anote esses valores. Neste caso: R = 0, G = 151, B = 157

- Especifique os pinos do ESP8266 que ligam aos pinos R, G e B. Por exemplo:
- Configure os seguintes pinos do ESP8266 no modo de saída:
- Controle o LED para emitir a cor #00979D, que é composta por Vermelho = 0, Verde = 151 e Azul = 157.
ESP8266 - Código de Exemplo do LED RGB
O código ESP8266 abaixo muda a cor do LED na seguinte sequência:
- #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 ESP8266 criando uma função:
Conhecimento Adicional
Para um LED RGB com anodo comum, você precisa:
- Conectar o pino comum ao 3.3V do ESP8266.
- Inverter os valores de R, G e B na função analogWrite(), ou seja, usar 255 - R, 255 - G e 255 - B, respectivamente
Uma sequência de LEDs RGB ligados juntos forma uma 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 possível usar um único resistor no pino comum, na prática isso não funciona bem. Os LEDs em um encapsulamento RGB não são idênticos, ou seja, seus resistores são diferentes. Como resultado, a corrente é distribuída de forma desigual entre os LEDs, causando brilho desigual, o que pode levar à destruição de um ou mais LEDs e, por fim, dos outros LEDs.