ESP8266 - Módulo LDR
O módulo sensor de luz LDR consegue sentir e medir a quantidade de luz ao redor. Ele tem duas saídas: uma que fornece um sinal digital (LOW ou HIGH) e outra que fornece um sinal analógico.
Este tutorial ensina você a usar um ESP8266 e um módulo sensor de luz LDR para detectar e medir a luz. Vamos abordar o seguinte:
- Como conectar o módulo sensor de luz LDR a um ESP8266.
- Como programar o ESP8266 para detectar luz lendo o sinal digital do módulo sensor de luz LDR.
- Como programar o ESP8266 para medir o nível de luz lendo o sinal analógico do módulo sensor de luz LDR.

Mais tarde, você pode alterar o código para que, quando o sensor de luz LDR detectar luz, ele ligue um LED ou uma lâmpada usando um relé.
Se você prefere um sensor de luz na forma bruta, sugiro explorar o tutorial ESP8266 - Sensor de Luz.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Módulo Sensor de Luz LDR
Você pode usar o módulo sensor de luz LDR para detectar se há luz ou medir o quão brilhante é a luz na área. Ele tem um pino de saída digital e um pino de saída analógica para você escolher.
Pinagem
O módulo sensor de luz LDR tem quatro pinos:
- Pino VCC: conecte-o a uma fonte de alimentação com tensão entre 3,3V e 5V.
- Pino GND: conecte-o ao terra, que tem 0V.
- Pino DO: este é um pino de saída digital. Ele fornece um sinal HIGH quando está escuro e um sinal LOW quando está claro. Você pode ajustar o limite entre escuro e claro usando um potenciômetro embutido no módulo.
- Pino AO: este é um pino de saída analógica. O valor de saída diminui à medida que a luz fica mais forte e aumenta à medida que a luz fica mais fraca.

Além disso, o módulo sensor de luz LDR inclui dois indicadores LED:
- Um indicador PWR-LED mostra o estado da alimentação.
- Um indicador DO-LED mostra o estado da luz no pino DO: ele acende quando há luz e apaga quando está escuro.
Como Funciona
Sobre o pino DO:
- O módulo sensor de luz LDR tem um potenciômetro embutido que permite ajustar a sensibilidade ou o limite para a detecção de luz.
- Quando a intensidade da luz no ambiente ao redor é maior que o limite definido (ou seja, está claro), o pino de saída do sensor fica LOW e o DO-LED acende.
- Quando a intensidade da luz no ambiente ao redor é menor que o limite definido (ou seja, está escuro), o pino de saída do sensor fica HIGH e o DO-LED apaga.
Sobre o pino AO:
- O valor lido do pino AO diminui à medida que a intensidade da luz no ambiente ao redor aumenta (ou seja, fica mais claro).
- O valor lido do pino AO aumenta à medida que a intensidade da luz no ambiente ao redor diminui (ou seja, fica mais escuro).
Observe que o potenciômetro não afeta o valor no pino AO.
Diagrama de Ligação
Como o módulo sensor de luz tem duas saídas, você pode escolher usar uma ou ambas, dependendo do que precisar.
- O diagrama de ligação entre o ESP8266 e o módulo sensor de luz LDR usando apenas o DO.

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.
- O diagrama de ligação entre o ESP8266 e o módulo sensor de luz LDR usando apenas o AO.

This image is created using Fritzing. Click to enlarge image
- O diagrama de ligação entre o ESP8266 e o módulo sensor de luz LDR usando tanto o AO quanto o DO.

This image is created using Fritzing. Click to enlarge image
Código ESP8266 - Ler o valor do pino DO
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 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 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.
- Copie o código acima e abra-o no Arduino IDE
- Clique no botão Upload do Arduino IDE para fazer o upload do código para o ESP8266
- Cubra e descubra o módulo sensor de luz LDR com a mão ou com outro objeto
- Veja o resultado no Serial Monitor.
Se você notar que o estado do LED permanece sempre ligado ou sempre desligado, independentemente das condições de luz, você pode ajustar o potenciômetro. Esse ajuste permite regular a sensibilidade do sensor à luz.
Além disso, você tem a flexibilidade de modificar o código para acender um LED ou uma lâmpada quando a luz for detectada. Você pode até controlar um servo motor para fazê-lo girar. Para instruções detalhadas e mais informações, consulte os tutoriais indicados no final deste guia.
Código ESP8266 - Ler o valor do pino AO
Passos Rápidos
- Copie o código acima e abra-o no Arduino IDE
- Clique no botão Upload do Arduino IDE para fazer o upload do código para o ESP8266
- Cubra e descubra o módulo sensor de luz LDR com a mão ou com outro objeto
- Veja o resultado no Serial Monitor.
※ Nota:
Este tutorial usa a função analogRead() para obter dados de um ADC (conversor analógico-digital) conectado a um sensor ou a outra peça. O ADC do ESP8266 funciona bem em projetos que não exigem leituras muito precisas. Mas lembre-se: o ADC do ESP8266 não é muito preciso para medições detalhadas. Se o seu projeto precisa ser muito preciso, você pode usar um ADC separado, como o ADS1115, com o ESP8266, ou usar um Arduino como o Arduino Uno R4 WiFi, que tem um ADC mais confiável.