Датчик освещенности Arduino позволяет сделать автоматическое включение света. Основой модуля lm393 и ky-018 является фоторезистор — полупроводниковый элемент. Рассмотрим в этой статье, как правильно подключить датчик освещенности к плате Ардуино и разберем две простые программы для использования цифровых и аналоговых входов микроконтроллера Ардуино для автоматического включения светодиода.
СОДЕРЖАНИЕ
Необходимые компоненты:
- Arduino Uno / Arduino Nano / Arduino Mega
- датчик света ky-018 или lm393
- светодиод и резистор
- макетная плата
- коннекторы
Дополнительные материалы на эту тему:
Датчик яркости освещенности для Ардуино выпускается в двух вариантах: с триммером (цифровой датчик на базе lm393) и без триммера (аналоговый датчик ky-018). Обе версии имеют три контакта для подключения к микроконтроллеру Arduino. Два контакта используются для питания модуля — 5 В и GND, а третий контакт имеет аналоговый (S) или цифровой (D0) сигнал и подключается к соответствующим портам Ардуино.
Датчик света Arduino принцип работы, распиновка

Модуль LM393 Arduino характеристики (datasheet)
- Напряжение питания: 3.3 В — 5.5 В
- Потребляемый ток: 10 мА
- Цифровой выход: TTL (лог 1 или лог 0)
- Аналоговый выход: 0 В … Vcc
- Выходной ток: 15 мА
- Габариты: 42мм х 15мм
Модуль для измерения освещения основан на обычном фоторезисторе. Поэтому если у вас нет датчика света из стартового набора, вы можете собрать простую схему делителя напряжения с фоторезистором и подключить его к микроконтроллеру — подключите фоторезистор к Arduino (LDR). Разница заключается в том, что вам придется воспроизвести схему аналогового датчика, собрав ее самостоятельно на макетной плате.
Как подключить датчик освещенности к Arduino

На рисунке показана схема подключения датчика освещенности с использованием аналогового сигнала. Питание модуля составляет 5 вольт, а напряжение на выходе (S) изменяется от 0 до 5 вольт в зависимости от освещенности в помещении. Когда сигнал подается на аналоговый вход микроконтроллера, Arduino преобразует его с помощью аналого-цифрового преобразователя (АЦП) в диапазон значений от 0 до 1023.
Скетч для датчика освещенности KY-018 Arduino
#define SEN A1
#define LED 12
void setup() {
pinMode(SEN, INPUT);
pinMode(LED, OUTPUT);
Serial.begin(9600);
}
void loop() {
int light = analogRead(SEN);
Serial.print("Light = ");
Serial.println(light);
if (light > 100) { digitalWrite(LED, LOW); }
if (light < 100) { digitalWrite(LED, HIGH); }
delay(1000);
}
Как подключить датчик света LM393 к Arduino

Следующая программа использует цифровой сигнал от датчика с фоторезистором. Модуль имеет регулировочный резистор для установки чувствительности. Другими словами, вы можете установить уровень освещенности, необходимый для того, чтобы модуль посылал логическую единицу на микроконтроллер. Подключите светодиод к контакту 12, как показано на изображении выше, и загрузите следующую программу в микроконтроллер.
Скетч для датчика освещенности LM393 Arduino
#define SEN 2
#define LED 12
void setup() {
pinMode(LED, OUTPUT);
pinMode(SEN, INPUT);
Serial.begin(9600);
}
void loop() {
Serial.print("Signal - ");
Serial.println(digitalRead(SEN));
if (digitalRead(SEN) == HIGH) { digitalWrite (LED, LOW); }
if (digitalRead(SEN) == LOW) { digitalWrite (LED, HIGH); }
delay(1000);
}
Заключение. Модуль датчика света состоит из фоторезистора (светозависимого резистора) и операционного усилителя LM358. Сопротивление фоторезистора не изменяется линейно в зависимости от количества воспринятого света. Новая версия модуля датчика освещенности имеет фототранзистор, выход модуля по-прежнему изменяется от 0 до 5 В, но кривая выхода этого модуля более линейна.

у меня все нагрелась и вспыхнуло но я уже всё потушил 1звезда