Датчик освещённости (или датчик света) — это электронное устройство, которое «измеряет» уровень света вокруг и передаёт данные в Arduino. На его основе можно сделать, например, автоматическое включение лампы в темноте или систему мониторинга освещённости в помещении.
Как работает
Основа большинства датчиков — фоторезистор. Это резистор, чьё сопротивление меняется в зависимости от яркости света:
- в темноте — сопротивление высокое (сотни кОм);
-
при ярком свете — сопротивление низкое (десятки Ом).
Эта модель также имеют подстроечный резистор — им можно отрегулировать порог срабатывания цифрового выхода.
Основные характеристики датчика освещённости TZT TENG для Arduino
- Рабочее напряжение: 3,3–5 В (подходит для Arduino Uno, Nano, Mega и др.).
-
Цифровой выход (DO) — выдаёт логический сигнал «0» или «1», когда уровень света пересекает заданный порог (настраивается потенциометром на модуле).
-
Диапазон чувствительности: охватывает условия от полной темноты до яркого солнечного света.
-
Размеры: около 32 × 14 мм (типичный модуль).
-
Подключение: три провода (VCC, GND, сигнал).
Назначение выводов
VCC — питание (3,3–5 В);
GND — земля (общий провод);
DO — цифровой выход (подключается к цифровому пину Arduino).
Примеры использования датчика освещённости TZT TENG для Arduino
Автоматическое освещение: включать лампу или светодиод, когда становится темно.
Охранная система: реагировать на внезапное затемнение (например, перекрытие луча лазера).
Мониторинг среды: записывать уровень освещённости в комнате или на улице.
Роботы и мобильные платформы: искать источник света или избегать яркого света.
Умные шторы/жалюзи: автоматически открывать/закрывать в зависимости от дневного света.
Фотобоксы и лайтбоксы: контролировать равномерность подсветки.
Плюсы и минусы
Плюсы:
- простая схема подключения;
-
низкая стоимость;
-
не требует сложной калибровки для базовых задач.
Минусы:
- относительная неточность (зависит от конкретного фоторезистора и условий);
-
чувствительность к температуре и старению элемента.
Скетч для цифрового датчика освещённости с управлением светодиодом
// Пины подключения
#define LIGHT_SENSOR_PIN 2 // Цифровой вход датчика освещённости (D0)
#define LED_PIN 9 // Цифровой выход для светодиода
void setup() {
// Инициализация пинов
pinMode(LIGHT_SENSOR_PIN, INPUT);
pinMode(LED_PIN, OUTPUT);
// Запуск последовательного порта для отладки
Serial.begin(9600);
}
void loop() {
// Считываем цифровое значение с датчика
int lightState = digitalRead(LIGHT_SENSOR_PIN);
// Выводим значение в монитор порта (для отладки)
Serial.print("Состояние датчика: ");
Serial.println(lightState);
// Проверяем состояние датчика
if (lightState == LOW) {
// Темно — включаем светодиод
digitalWrite(LED_PIN, HIGH);
Serial.println("Свет включён");
} else {
// Достаточно светло — выключаем светодиод
digitalWrite(LED_PIN, LOW);
Serial.println("Свет выключен");
}
// Задержка между измерениями
delay(500);
}
|
Необходимые компоненты
- Плата Arduino
-
Цифровой модуль датчика освещённости (с подстроечным резистором и выходом D0)
-
Светодиод
-
Резистор 220 Ом (для светодиода)
-
Соединительные провода
-
Макетная плата (опционально)
Схема подключения
Датчик освещённости:
- VCC → 5 V
-
GND → GND
-
D0 (цифровой выход) → цифровой пин 2
Светодиод:
- Анод (+) → цифровой пин 9 (через резистор 220 Ом)
-
Катод (−) → GND
Пояснения
Цифровой датчик освещённости имеет встроенный компаратор и подстроечный резистор для регулировки чувствительности.
Выдает логический сигнал:
- LOW (0 В) — уровень освещённости ниже установленного порога (темно);
-
HIGH (5 В) — уровень освещённости выше порога (светло).
Регулировка чувствительности
На модуле датчика есть подстроечный резистор (потенциометр).
Вращайте его, чтобы задать порог срабатывания (когда светодиод должен включаться/выключаться).
Логика работы
- Если датчик выдаёт LOW → темно → светодиод включается.
-
Если датчик выдаёт HIGH → светло → светодиод выключается.
Мониторинг порта
Показывает текущее состояние датчика (0 или 1) и статус светодиода.
Помогает при настройке чувствительности датчика.
Рекомендации по настройке
Калибровка датчика
Включите монитор порта (Tools → Serial Monitor).
Вращайте подстроечный резистор на модуле датчика.
Наблюдайте за изменением значений в мониторе порта при разной освещённости.
Установите нужный порог срабатывания (например, чтобы светодиод включался в полумраке).
Размещение датчика
Избегайте прямых источников света (лампы, солнце), если нужно измерять фоновый уровень.
Располагайте так, чтобы датчик «видел» зону, где нужно контролировать освещённость.
Проверка соединений
Убедитесь, что VCC и GND подключены правильно.
Проверьте полярность светодиода (анод к пину, катод к GND).
Дополнительные возможности
Добавить задержку включения — вставьте delay(1000) после digitalWrite, чтобы избежать мигания при колебаниях освещённости.
Использовать несколько светодиодов — подключите их к другим пинам и управляйте аналогично.
Добавить звуковой сигнал — подключите зуммер и включите его при срабатывании датчика.
Инвертировать логику — замените if (lightState == LOW) на if (lightState == HIGH), если нужно, чтобы светодиод горел при свете.