#12Новичок

Ночник на LDR

4.8(102)
205 собрано
Ночник на LDR
Маленький ночник, который сам включается, когда темнеет, и гаснет, когда наступает утро. Датчик освещённости измеряет, насколько светло в комнате, и Arduino включает светодиод, когда достаточно темно, и снова выключает его, когда становится светло. Теперь ты знаешь, как уличные фонари сами загораются вечером.

Видео

Схема

Ночник на LDR - Circuit

Исходный код

C++ (Arduino IDE)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   Ночник на LDR
4// ─────────────────────────────────────────
5// Автоматически включает светодиод, когда темнеет. Делитель напряжения с
6// LDR читается на A0; когда значение падает ниже 50 (темно), светодиод на
7// D13 включается, а на свету выключается.
8//
9// Пины:
10//   D13 -> Светодиод (с резистором 330 ohm)
11//   A0 -> Точка соединения LDR и резистора 10k
12//   Другая ножка LDR к 5V, другая ножка 10k к GND
13
14int value;   // Уровень света (0-1023)
15
16void setup() {
17  pinMode(13, OUTPUT);   // Выход светодиода
18}
19
20void loop() {
21  value = analogRead(A0);   // Прочитать уровень света
22
23  // Порог 50: всё, что ниже, считается темнотой. Чувствительность настраивается этим числом
24  if (value < 50) {
25    digitalWrite(13, HIGH);   // Темно: светодиод вкл
26  } else {
27    digitalWrite(13, LOW);    // Светло: светодиод выкл
28  }
29}
30

Частые вопросы

Как определить пороговое значение?

Чтобы видеть показания, сначала добавь `Serial.begin(9600);` в setup() и `Serial.println(value);` сразу после `value = analogRead(A0);` в loop(), затем открой монитор порта на 9600 бод. Запиши значения при свете и в темноте. Если в темноте подключение даёт меньшие показания, замени 50 в `if (value < 50)` порогом, выбранным между этими двумя значениями.

Около порога светодиод мерцает. Как это предотвратить?

Когда освещённость находится прямо около порога, небольшие колебания заставляют светодиод включаться и выключаться. Если использовать два отдельных порога (один для включения, другой для выключения, например 400 и 450), то есть добавить гистерезис, мерцание исчезнет.

Светодиод освещает LDR и сам себя выключает. Что делать?

Если свет светодиода попадает на LDR, датчик решает, что вокруг светло. Размести LDR подальше от светодиода или так, чтобы он не был к нему обращён; при необходимости сделай вокруг LDR небольшой экран.

Можно ли так зажечь настоящую лампу?

Да, вместо светодиода можно подключить модуль реле и управлять лампой на 220 V. Сетевое напряжение опасно: подключай всё при отключённом от сети устройстве и попроси помощи у взрослого или электрика.