Пример обнаружения света на основе LDR и Arduino

Пример обнаружения света с помощью LDR (Light Dependent Resistor — фоторезистора) позволяет измерять уровень освещённости и реагировать на изменения света в окружающей среде. Она проста в реализации и отлично подходит для обучения работе с аналоговыми датчиками и Arduino.

обнаружения света с помощью фоторезистора

Такую систему можно использовать для автоматического включения света, сигнализации при изменении освещённости или в проектах «умный дом».

Что понадобится для проекта

  • Плата Arduino (Uno, Nano или аналоги)
  • LDR (фоторезистор)
  • Резистор 10 кОм
  • Соединительные провода
  • Макетная плата (breadboard)
  • Светодиод и резистор 220 Ом (для визуальной индикации)
обнаружения света с помощью фоторезистора

Подключение компонентов

Компонент Arduino
LDR A0 (аналоговый вход)
Резистор 10 кОм Подключается к 5V и A0 (создаёт делитель напряжения с LDR)
Светодиод Digital 9 через резистор 220 Ом

Принцип работы

  1. LDR изменяет сопротивление в зависимости от уровня освещённости.
  2. Arduino считывает аналоговое значение с пина A0.
  3. Если значение выше или ниже заданного порога, Arduino может включать или выключать светодиод.
  4. Результат выводится в Serial Monitor или управляет другими устройствами.

Пример скетча Arduino

const int ldrPin = A0; // пин LDR
const int ledPin = 9;  // пин светодиода
int threshold = 500;   // порог освещённости

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  int ldrValue = analogRead(ldrPin);
  Serial.print("Уровень света: ");
  Serial.println(ldrValue);

  if(ldrValue < threshold) {
    digitalWrite(ledPin, HIGH); // свет включен
  } else {
    digitalWrite(ledPin, LOW);  // свет выключен
  }

  delay(200);
}

Этот скетч считывает уровень света с LDR каждые 200 мс, выводит значение в Serial Monitor и включает или выключает светодиод в зависимости от порога.

FAQ — Система обнаружения света на основе LDR

Что такое LDR и как он работает?

LDR — это светозависимый резистор. Его сопротивление меняется в зависимости от уровня освещённости.

Какой диапазон измерений LDR?

Диапазон зависит от конкретного фоторезистора, обычно от очень тёмного (десятки Ом) до яркого света (несколько кОм).

Зачем нужен резистор 10 кОм с LDR?

Он формирует делитель напряжения с LDR, чтобы Arduino мог считывать аналоговое значение.

Можно ли использовать аналоговый вход A0 для нескольких датчиков?

Да, но каждый датчик должен быть подключён через отдельный делитель напряжения к своему аналоговому пину.

Как изменять порог освещённости?

Порог задаётся в переменной threshold в скетче. Можно менять значение в зависимости от условий.

Что делать, если светодиод не реагирует на свет?

Проверьте правильность подключения LDR и резистора, убедитесь, что порог установлен корректно и пин светодиода совпадает со скетчем.

Заключение

Система на основе LDR — простой и наглядный способ изучить работу аналоговых датчиков с Arduino. Она может быть основой для проектов "умный дом", сигнализации или других электронных устройств.