#11Новичок

Измерение освещённости с LDR

4.6(81)
139 собрано
Измерение освещённости с LDR
Хочешь увидеть яркость своей комнаты в виде числа? LDR — маленькая деталь, реагирующая на свет, — измеряет освещённость вокруг, а Arduino каждые полсекунды выводит значение на экран компьютера. Закрой её рукой, и ты увидишь, как меняется число; это первый шаг к проектам вроде ночника, который включается сам.

Видео

Схема

Измерение освещённости с LDR - Circuit

Исходный код

C++ (Arduino IDE)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   Измерение освещённости с LDR
4// ─────────────────────────────────────────
5// Читает освещённость на A0 через делитель напряжения из LDR и резистора
6// 10k и каждые 0,5 с выводит значение 0-1023 в монитор порта. Чем ярче
7// свет, тем больше значение.
8//
9// Пины:
10//   A0 -> Точка соединения LDR и резистора 10k
11//   Другая ножка LDR к 5V, другая ножка 10k к GND
12
13int value;   // Уровень света (0-1023)
14
15void setup() {
16  Serial.begin(9600);   // Serial на скорости 9600 бод
17}
18
19void loop() {
20  value = analogRead(A0);   // Прочитать напряжение LDR
21  Serial.print("Value: ");
22  Serial.println(value);
23  delay(500);               // Ждать 0,5 с
24}
25

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

Как работает LDR?

Чем больше света падает на LDR (фоторезистор), тем меньше его сопротивление. Если собрать делитель напряжения с резистором 10 kΩ, изменения освещённости превращаются в изменения напряжения и читаются через `analogRead` как значение от 0 до 1023.

Какими должны быть показания при свете и в темноте?

Это зависит от схемы подключения; обычно при ярком свете значения высокие, а в темноте низкие (или наоборот). Запиши через монитор порта значения при свете и в темноте в обычной обстановке; они понадобятся для выбора порогов в следующих проектах.

В мониторе порта непонятные символы. Почему?

Скорость в мониторе порта должна совпадать со значением в функции `Serial.begin()` в коде (например, 9600). Если они различаются, на экране появляются непонятные символы.

Есть ли датчик освещённости точнее LDR?

Да, I2C-датчики освещённости вроде BH1750 измеряют свет сразу в люксах (lx) и гораздо стабильнее LDR. Для простых ночников и определения темноты LDR достаточно.