#12Iniciante

Luz noturna com LDR

4.8(102)
205 concluído
Luz noturna com LDR
Uma pequena luz noturna que acende sozinha quando escurece e apaga ao amanhecer. Um sensor de luz mede a luminosidade do quarto, e o Arduino acende o LED quando está escuro o suficiente e apaga quando clareia. Assim, você entende como as luzes da rua acendem sozinhas ao anoitecer.

Vídeo

Esquema do circuito

Luz noturna com LDR - Circuit

Código-fonte

C++ (Arduino IDE)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   Luz noturna com LDR
4// ─────────────────────────────────────────
5// Liga o LED automaticamente quando escurece. O divisor de tensão do LDR é
6// lido em A0; quando o valor cai abaixo de 50 (escuro), o LED em D13
7// acende, e no claro ele apaga.
8//
9// Pinos:
10//   D13 -> LED (com resistor de 330 ohm)
11//   A0 -> Junção do LDR com o resistor de 10k
12//   Outra perna do LDR em 5V, outra perna do 10k em GND
13
14int value;   // Leitura de luz (0-1023)
15
16void setup() {
17  pinMode(13, OUTPUT);   // Saída do LED
18}
19
20void loop() {
21  value = analogRead(A0);   // Lê o nível de luz
22
23  // Limite 50: qualquer valor abaixo conta como escuro. Ajuste a sensibilidade com este número
24  if (value < 50) {
25    digitalWrite(13, HIGH);   // Escuro: LED ligado
26  } else {
27    digitalWrite(13, LOW);    // Claro: LED desligado
28  }
29}
30

Perguntas frequentes

Como determinar o valor de limiar?

Para ver as leituras, primeiro adicione `Serial.begin(9600);` em setup() e `Serial.println(value);` logo após `value = analogRead(A0);` em loop(), depois abra o Monitor Serial a 9600 baud. Anote os valores com o ambiente claro e escuro. Se a ligação gerar leituras menores no escuro, substitua 50 em `if (value < 50)` por um limiar escolhido entre esses dois valores.

O LED pisca perto do limiar. Como evitar isso?

Quando a luminosidade está muito próxima do valor de limiar, pequenas oscilações fazem o LED acender e apagar. Se você usar dois limiares separados (um para acender e outro para apagar, por exemplo, 400 e 450), ou seja, adicionar histerese, o LED para de piscar.

O LED ilumina o LDR e acaba apagando sozinho. O que fazer?

Se a luz do LED atingir o LDR, o sensor vai detectar que o ambiente está claro. Posicione o LDR longe do LED ou sem ficar voltado para ele; se necessário, faça uma pequena proteção ao redor do LDR.

Posso acender uma lâmpada de verdade com esse método?

Sim, você pode controlar uma lâmpada de 220 V conectando um módulo de relé no lugar do LED. A tensão da rede elétrica é perigosa; faça as conexões com o dispositivo fora da tomada e peça ajuda a um adulto ou eletricista.