ESP8266 - LED
Este tutorial ensina como usar o ESP8266 para controlar um LED. Em detalhes, vamos aprender:
- Como conectar o LED ao ESP8266
- Como programar o ESP8266 para ligar ou desligar o LED.
- Como programar o ESP8266 para piscar o LED.
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:
- O pino Cátodo(-): deve ser conectado ao negativo da fonte de alimentação
- O pino Ânodo(+): deve ser conectado ao positivo da fonte de alimentação por meio de um resistor

Como Funciona
A tabela abaixo mostra o estado do LED de acordo com a forma como a alimentação é conectada aos pinos do LED
| Pino cátodo(-) do LED | Pino ânodo(+) do LED | Condição | Estado do LED |
|---|---|---|---|
| GND | VCC | por um resistor | LIGADO |
| GND | PWM | por um resistor | LIGADO, brilho variável |
| GND | GND | qualquer | DESLIGADO |
| VCC | VCC | qualquer | DESLIGADO |
| VCC | GND | qualquer | queimado! cuidado! |

Como mostrado na tabela acima, ao gerar um sinal PWM no ânodo (+) de um LED, o brilho do LED varia de acordo com o valor do PWM. Isso foi explicado em detalhes no tutorial ESP8266 fade LED.
※ Nota:
- Para a maioria dos LEDs, é necessário um resistor para proteger o LED contra a corrente. Há duas opções para colocar o resistor: entre o ânodo(+) e o VCC, ou entre o cátodo(-) e o GND. O valor do resistor depende da especificação do LED.
- Alguns tipos de LEDs têm um resistor embutido. Nesse caso, o resistor não é necessário.
ESP8266 - LED
Quando um pino do ESP8266 é configurado como saída digital, ele pode ser programado para ter a tensão GND ou VCC.
Conecte o pino do ESP8266 ao pino ânodo(+) do LED com um resistor. Isso nos permitirá controlar o estado do LED por meio de programação.
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 usando a função pinMode(). Por exemplo, o pino GPIO9:
- Programe o pino para GND usando a função digitalWrite() para DESLIGAR o LED:
- Programe o pino para VCC usando a função digitalWrite() para LIGAR o LED.
Código ESP8266 para controlar o LED
Passos Rápidos
Para começar com o ESP8266 no Arduino IDE, siga estes passos:
- Veja o tutorial como configurar o ambiente para o ESP8266 no Arduino IDE se esta for a primeira vez que você usa o ESP8266.
- Ligue os componentes como mostrado no diagrama.
- Conecte a placa ESP8266 ao seu computador usando um cabo USB.
- Abra o Arduino IDE no seu computador.
- Escolha a placa ESP8266 correta, como (por exemplo, NodeMCU 1.0 (ESP-12E Module)), e a respectiva porta COM.
- Clique no botão Upload do Arduino IDE para compilar e fazer o upload do código para a placa ESP8266.

- Confira o resultado: O LED interno alterna entre LIGADO e DESLIGADO em um padrão regular a cada segundo.
Explicação do Código
Confira a explicação linha por linha contida nos comentários do código-fonte!
※ Nota:
O código acima usa delay(). Essa função impede que o ESP8266 realize outras tarefas durante o período de espera. Se o seu projeto exige que certas tarefas sejam concluídas, você deve evitar bloquear o ESP8266 utilizando o método não bloqueante para Arduino.
Vídeo
Conhecimento Adicional
- Em um dado momento, um pino só pode executar uma única tarefa. Se ele já foi atribuído a outra função (por exemplo, entrada digital, entrada analógica, PWM, UART, etc.), então ele NÃO deve ser usado como saída digital para controlar um LED. Por exemplo, se usamos a função Serial.println(), os pinos GPIO1 (TX) e GPIO3 (RX) não devem ser usados para nenhuma outra finalidade, pois são reservados para a Serial.
- Este tutorial demonstra como usar o pino de saída de um ESP8266 para controlar um LED. Podemos usar este código para LIGAR/DESLIGAR qualquer aparelho, até mesmo máquinas grandes.
- Para dispositivos/máquinas que exigem uma alimentação maior que 5 volts e/ou alto consumo de corrente, um relé deve ser usado entre o pino de saída e o dispositivo/máquina. Mais informações podem ser encontradas em ESP8266 - Relé.