Arduino - Módulo LDR
O módulo sensor de luz LDR é capaz de detectar e medir a luz no ambiente ao redor. O módulo oferece duas saídas: uma saída digital (LOW/HIGH) e uma saída analógica.
Neste tutorial, vamos aprender a usar um Arduino e um módulo sensor de luz LDR para detectar e medir o nível de luz. Especificamente, vamos ver o seguinte:
- Como conectar o módulo sensor de luz LDR a um Arduino.
- Como programar o Arduino para detectar luz lendo o sinal digital do módulo sensor de luz LDR.
- Como programar o Arduino para medir o nível de luz lendo o sinal analógico do módulo sensor de luz LDR.

Depois disso, você pode modificar o código para acionar um LED ou uma lâmpada (através de um relé) quando ele detectar luz.
Se você preferir um sensor de luz na sua forma bruta, sugiro conferir o tutorial Arduino - Sensor de Luz.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 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 detectar a presença de luz ou medir o nível de luz no ambiente ao redor. Ele oferece duas opções, através de um pino de saída digital e de um pino de saída analógica.
Pinagem
O módulo sensor de luz LDR tem quatro pinos:
- Pino VCC: deve ser conectado ao VCC (3.3V a 5V).
- Pino GND: deve ser conectado ao GND (0V).
- Pino DO: é um pino de saída digital. Ele fica em HIGH quando está escuro e em LOW quando há luz. O valor limite entre escuro e claro pode ser ajustado usando um potenciômetro embutido.
- Pino AO: é um pino de saída analógica. O valor de saída diminui quando a luz fica mais forte e aumenta quando a luz fica mais fraca.

Além disso, ele tem dois LEDs indicadores:
- Um LED indicador PWR-LED para a alimentação.
- Um LED indicador DO-LED para o estado da luz no pino DO: ele fica aceso quando há luz e apagado quando está escuro.
Como Funciona
Para o pino DO:
- O módulo tem um potenciômetro embutido para definir o limite de luz (sensibilidade).
- Quando a intensidade da luz no ambiente está acima do valor limite (claro), o pino de saída do sensor fica em LOW e o DO-LED acende.
- Quando a intensidade da luz no ambiente está abaixo do valor limite (escuro), o pino de saída do sensor fica em HIGH e o DO-LED apaga.
Para o pino AO:
- Quanto maior a intensidade da luz no ambiente (claro), menor o valor lido no pino AO.
- Quanto menor a intensidade da luz no ambiente (escuro), maior o valor lido no pino AO.
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 as duas, dependendo do que você precisa.
- O diagrama de ligação entre o Arduino e o módulo sensor de luz LDR usando apenas o DO.

This image is created using Fritzing. Click to enlarge image
- O diagrama de ligação entre o Arduino 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 Arduino e o módulo sensor de luz LDR usando o AO e o DO.

This image is created using Fritzing. Click to enlarge image
A ligação real:

Código Arduino - Ler o valor do pino DO
Passos Rápidos
- Copie o código acima e abra-o na Arduino IDE
- Clique no botão Upload na Arduino IDE para carregar o código no Arduino
- Cubra e descubra o módulo sensor de luz LDR com a mão ou com algum objeto
- Veja o resultado no Serial Monitor.
Lembre-se: se você perceber que o LED fica sempre aceso ou sempre apagado, mesmo quando há luz, você pode ajustar o potenciômetro para regular a sensibilidade à luz do sensor.
Agora podemos personalizar o código para acionar um LED ou uma lâmpada quando a luz for detectada, ou até fazer um servo motor girar. Você encontra mais informações e instruções passo a passo nos tutoriais listados no final deste tutorial.
Código Arduino - Ler o valor do pino AO
Passos Rápidos
- Copie o código acima e abra-o na Arduino IDE
- Clique no botão Upload na Arduino IDE para carregar o código no Arduino
- Cubra e descubra o módulo sensor de luz LDR com a mão ou com algum objeto
- Veja o resultado no Serial Monitor.
Vídeo
O vídeo de demonstração abaixo usa o código abaixo. Observe que o vídeo mostra o Arduino Uno R4, mas funciona da mesma forma no Arduino Uno R3: