Arduino Nano ESP32 - Módulo LDR
O módulo sensor de luz LDR consegue sentir e medir a luz ao redor. Ele tem duas saídas: uma saída digital, que pode ser LOW ou HIGH, e uma saída analógica.
Neste tutorial, vamos aprender a usar um Arduino Nano ESP32 e um módulo sensor de luz LDR juntos para detectar e medir a quantidade de luz. Veja o que vamos abordar:
- Como conectar o módulo sensor de luz LDR a um Arduino Nano ESP32.
- Como programar o Arduino Nano ESP32 para detectar luz lendo o sinal digital do módulo sensor de luz LDR.
- Como programar o Arduino Nano ESP32 para medir o nível de luz lendo o sinal analógico do módulo sensor de luz LDR.

Depois, você pode alterar o código para fazer um LED ou uma lâmpada acender (usando um relé) quando ele sentir luz.
Se você tem interesse em um sensor de luz na forma bruta, sugiro explorar o tutorial Arduino Nano ESP32 - 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
O módulo sensor de luz LDR pode ser usado para descobrir se há luz ou quanta luz há na área ao redor dele. Ele tem um pino de saída digital e um pino de saída analógica para diferentes opções.
Pinagem
O módulo sensor de luz LDR tem quatro pinos:
- Pino VCC: Conecte este pino à fonte de alimentação (entre 3,3V e 5V).
- Pino GND: Conecte este pino ao terra (0V).
- Pino DO: Este é um pino de saída digital. Ele envia um sinal HIGH quando está escuro e LOW quando está claro. Você pode ajustar o limite entre escuro e claro usando um potenciômetro embutido.
- Pino AO: Este é um pino de saída analógica. O valor diminui conforme a luz fica mais forte e aumenta conforme a luz fica mais fraca.

Além disso, o módulo sensor de luz LDR é equipado com dois LEDs indicadores:
- O LED indicador PWR-LED mostra o estado da alimentação.
- O LED indicador DO-LED reflete o estado da luz no pino DO: ele acende quando há luz e permanece apagado quando está escuro.
Como Funciona
Sobre o pino DO:
- O módulo sensor de luz LDR tem um potenciômetro que permite ajustar a sensibilidade ou o limite para detectar a luz.
- Quando a intensidade da luz no ambiente ao redor está acima do limite definido (considerado como luz), a saída do sensor no pino DO fica LOW e o DO-LED acende.
- Quando a intensidade da luz no ambiente ao redor está abaixo do limite definido (considerado como escuro), a saída do sensor no pino DO fica HIGH e o DO-LED apaga.
Sobre o pino AO:
- O valor lido no pino AO é inversamente proporcional à intensidade da luz no ambiente ao redor. Em outras palavras, conforme a intensidade da luz aumenta (mais claro), o valor no pino AO diminui.
- Da mesma forma, conforme a intensidade da luz diminui (mais escuro), o valor no pino AO aumenta.
É importante notar que ajustar 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 delas ou as duas, dependendo do que precisar.
- O diagrama de ligação entre o Arduino Nano ESP32 e o módulo sensor de luz LDR usando somente o DO.

This image is created using Fritzing. Click to enlarge image
- O diagrama de ligação entre o Arduino Nano ESP32 e o módulo sensor de luz LDR usando somente o AO.

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

This image is created using Fritzing. Click to enlarge image
Código Arduino Nano ESP32 - Ler o valor do pino DO
Passos Rápidos
Para começar com o Arduino Nano ESP32, siga estes passos:
- Se você é novo no Arduino Nano ESP32, consulte o tutorial sobre como configurar o ambiente do Arduino Nano ESP32 no Arduino IDE.
- Ligue os componentes de acordo com o diagrama fornecido.
- Conecte a placa Arduino Nano ESP32 ao seu computador usando um cabo USB.
- Abra o Arduino IDE no seu computador.
- Selecione a placa Arduino Nano ESP32 e a porta COM correspondente.
- Copie o código acima e abra no Arduino IDE
- Clique no botão Upload do Arduino IDE para fazer o upload do código para o Arduino Nano ESP32
- Cubra e descubra o módulo sensor de luz LDR com a mão ou com algum objeto
- Confira o resultado no Serial Monitor.
Se você notar que o estado do LED permanece sempre ligado ou sempre desligado, independentemente da presença de luz, você pode ajustar o potenciômetro. Esse ajuste permite regular com precisão a sensibilidade do sensor à luz.
Além disso, o código pode ser modificado de acordo com suas necessidades. Por exemplo, você pode programar o LED para ativar ou a lâmpada para acender quando a luz for detectada. Você também tem a flexibilidade de fazer um servo motor girar. Instruções detalhadas e tutoriais sobre essas opções de personalização podem ser encontrados no final deste guia.
Código Arduino Nano ESP32 - Ler o valor do pino AO
Passos Rápidos
- Copie o código acima e abra no Arduino IDE
- Clique no botão Upload do Arduino IDE para fazer o upload do código para o Arduino Nano ESP32
- Cubra e descubra o módulo sensor de luz LDR com a mão ou com algum objeto
- Confira o resultado no Serial Monitor.
※ Nota:
Este tutorial usa a função analogRead() para ler valores de um ADC (Conversor Analógico-Digital) conectado a um sensor ou componente. O ADC do Arduino Nano ESP32 é adequado para projetos que não exigem alta precisão. No entanto, para projetos que precisam de medições precisas, tenha em mente o seguinte:
- O ADC do Arduino Nano ESP32 não é perfeitamente preciso e pode exigir calibração para obter resultados corretos. Cada placa Arduino Nano ESP32 pode variar um pouco, então a calibração é necessária para cada placa individualmente.
- A calibração pode ser difícil, especialmente para iniciantes, e nem sempre produz os resultados exatos que você quer.
Para projetos que exigem alta precisão, considere usar um ADC externo (por exemplo, o ADS1115) com o Arduino Nano ESP32 ou usar outro Arduino, como o Arduino Uno R4 WiFi, que tem um ADC mais confiável. Se você ainda quiser calibrar o ADC do Arduino Nano ESP32, consulte o ESP32 ADC Calibration Driver.