Arduino Nano ESP32 - Sensor de Luz
Este tutorial explica como usar o Arduino Nano ESP32 com o sensor de luz. Em detalhes, vamos aprender:
- Como o sensor de luz funciona.
- Como conectar o sensor de luz ao Arduino Nano ESP32.
- Como programar o Arduino Nano ESP32 para ler o valor de um sensor de luz.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
O sensor de luz LDR é muito barato, mas exige um resistor na ligação, o que pode deixar a montagem mais complexa. Para simplificar a ligação, você pode usar um módulo sensor de luz LDR como alternativa.
Sobre o Sensor de Luz
O sensor de luz mais usado é o fotorresistor (também conhecido como fotocélula ou resistor dependente de luz, LDR).
Ele pode ser usado para detectar a presença de luz. Também pode ser usado para medir o nível de iluminância/brilho da luz.
Pinagem do Sensor de Luz
Um sensor de luz tem dois pinos. Assim como um resistor comum, NÃO precisamos distinguir esses pinos.

Como o Sensor de Luz Funciona
A resistência do fotorresistor é inversamente proporcional à intensidade da luz. Quanto menos luz a face do fotorresistor recebe, maior é a resistência do fotorresistor. Portanto, podemos inferir o quão clara é a luz ambiente medindo a resistência do fotorresistor.

WARNING
O valor medido pelo fotorresistor reflete a tendência aproximada da intensidade da luz, mas NÃO representa exatamente o fluxo luminoso. Portanto, o fotorresistor não deve ser usado em aplicações que exigem alta precisão. A calibração também é necessária em alguns tipos de aplicação.
Arduino Nano ESP32 - Sensor de Luz
O pino de entrada analógica do ESP32 converte a tensão (entre 0v e ADC_VREF - o padrão é 3,3V) em valores inteiros (entre 0 e 4095), chamados de valor analógico ou valor ADC. Ao conectar um pino de entrada analógica do Arduino Nano ESP32 ao fotorresistor, podemos ler o valor analógico usando a função analogRead().
Diagrama de Ligação entre o Sensor de Luz e o Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image
Código Arduino Nano ESP32
O código do Arduino Nano ESP32 abaixo lê o valor de um sensor de luz e infere o nível de luz
Passos Rápidos
- Se esta é a primeira vez que você usa o Arduino Nano ESP32, veja como configurar o ambiente do Arduino Nano ESP32 no Arduino IDE.
- Copie o código acima e cole no Arduino IDE.
- Compile e faça o upload do código para a placa Arduino Nano ESP32 clicando no botão Upload do Arduino IDE
- Abra o Serial Monitor no Arduino IDE

- Aponte luz para o sensor
- Confira o resultado no Serial Monitor. Ele se parece com o abaixo:
Sensor de Luz e LED
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Código Arduino Nano ESP32
O código abaixo liga o LED se estiver escuro; caso contrário, desliga o LED
※ 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.