ESP8266 - LED - Fade
Este tutorial ensina você a programar o ESP8266 para fazer fade em um LED. Vamos ver três exemplos e comparar as diferenças entre eles:
- Como programar um ESP8266 para fazer fade em um LED usando a função delay()
- Como programar um ESP8266 para fazer fade em um LED usando a função millis()
- Como programar um ESP8266 para fazer fade em um LED usando a biblioteca ezLED
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Buy Note: Use the LED Module for easier wiring. It includes an integrated resistor.
Sobre o LED
A Pinagem do LED
O LED tem dois pinos:
- Pino catodo(-): precisa ser conectado ao GND (0V)
- Pino anodo(+): usado para controlar o estado do LED

Como Funciona
Depois que o catodo(-) estiver conectado ao GND:
- Conectar o GND ao anodo(+) fará o LED ficar DESLIGADO.
- Conectar o VCC ao anodo(+) fará o LED LIGAR.
- Gerar um sinal PWM no anodo(+) ajustará o brilho do LED, de acordo com o valor do PWM. Esse valor pode variar de 0 a 255, e um valor maior deixa o LED mais brilhante, enquanto um valor menor deixa o LED mais fraco.
- Se o valor do PWM for 0, é o mesmo que conectar o GND, então o LED ficará DESLIGADO.
- Se o valor do PWM for 255, é o mesmo que conectar o VCC, então o LED ficará totalmente LIGADO.

※ Nota:
Para a maioria dos LEDs, é preciso colocar um resistor entre o anodo (+) e o VCC. O valor desse resistor é determinado pelas especificações do LED.
ESP8266 - fade de LED
Alguns dos pinos do ESP8266 podem ser programados para produzir um sinal PWM. Conectando o pino anodo (+) do LED a um pino do ESP8266, o catodo (-) ao GND, e programando o pino do ESP8266 para gerar PWM, podemos fazer o fade do LED.
Diagrama de Ligação

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.
Como Programar
- Configure o pino de um ESP8266 no modo de saída digital com a função pinMode(). Por exemplo, isso pode ser feito para o pino D5:
- Ajuste o brilho do LED criando um sinal PWM com a função analogWrite().
O brilho pode variar de 0 a 255.
Código ESP8266 - Exemplo de Fade da Arduino IDE
Passos Rápidos
Para começar com o ESP8266 na Arduino IDE, siga estes passos:
- Veja o tutorial como configurar o ambiente para ESP8266 na Arduino IDE se esta for a sua primeira vez usando o ESP8266.
- Ligue os componentes como mostrado no diagrama.
- Conecte a placa ESP8266 ao seu computador usando um cabo USB.
- Abra a Arduino IDE no seu computador.
- Escolha a placa ESP8266 correta, como (ex.: NodeMCU 1.0 (ESP-12E Module)), e a respectiva porta COM.
- Conecte o ESP8266 ao seu computador com um cabo USB.
- Abra a Arduino IDE e selecione a placa e a porta corretas.
- Copie o código abaixo e cole na Arduino IDE.
- Clique no botão Upload na Arduino IDE para compilar e fazer o upload do código para a placa ESP8266.

- Observe a luminosidade do LED.
Explicação do Código
Confira a explicação linha por linha contida nos comentários do código-fonte!
※ Nota:
O exemplo acima usa a função delay() para fazer fade-in e fade-out. Isso, porém, faz o LED mudar de brilho de forma irregular e bloqueia a execução de outros códigos. Nas próximas seções, vamos aprender a fazer fade-in e fade-out de forma suave, sem interromper outros códigos, usando a função millis().
Como fazer fade-in de um LED em um período sem usar delay()
Como fazer fade-out de um LED em um período sem usar delay()
Vídeo
Conhecimento Adicional
- A função analogWrite() no ESP8266 pode gerar um sinal PWM, que faz o LED fazer fade. No entanto, se uma função personalizada for criada com conhecimento avançado, ela pode gerar um sinal PWM de baixa frequência, fazendo o LED piscar em vez de fazer fade.
- Em resumo, os sinais PWM podem ser usados no ESP8266 para várias finalidades, como controlar servo motores, motores DC, produzir som com um buzzer piezo, fazer fade em LEDs e piscar LEDs.