#12Iniciante

Luz noturna com LDR

4.8(100)
188 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

Arduino (C++)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   Night Light with Ldr
4// ─────────────────────────────────────────
5// Turns the LED on automatically when it gets dark. The LDR voltage
6// divider is read on A0; when the value drops below 50 (dark) the LED on
7// D13 turns on, and it turns off in the light.
8//
9// Pins:
10//   D13 -> LED (with a 330 ohm resistor)
11//   A0 -> Junction of the LDR and the 10k resistor
12//   LDR other leg to 5V, 10k other leg to GND
13
14int value;   // Light reading (0-1023)
15
16void setup() {
17  pinMode(13, OUTPUT);   // LED output
18}
19
20void loop() {
21  value = analogRead(A0);   // Read the light level
22
23  // Threshold 50: anything below counts as dark. Tune the sensitivity with this number
24  if (value < 50) {
25    digitalWrite(13, HIGH);   // Dark: LED on
26  } else {
27    digitalWrite(13, LOW);    // Bright: LED off
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.