Датчик света, точнее фоторезистор – радиоэлемент, изменяющий своё сопротивление в зависимости от интенсивности попадающего на него света: от десятков Ом (при ярком свете) до сотен кОм (в темноте). Позволяет устройству получать информацию об уровне освещённости, например для автоматического включения света в тёмное время суток. Также может использоваться и более сложными способами, например работа датчиков в паре или тройке для наведения на источник света или приём луча лазера в системе сигнализации.
![]() |
В наборе GyverKIT | START | IOT | EXTRA |
---|---|---|---|---|
Датчик света | ✔ | ✔ |
Подключение к Arduino #
Arduino сама по себе не умеет измерять сопротивление, поэтому понадобится вспомогательный резистор, чтобы образовать делитель напряжения (как в случае с потенциометром). Отлично подойдёт резистор на 10 кОм (есть в наборе GyverKIT). На выходе с делителя получится аналоговое значение, поэтому подключаем среднюю точку получившегося делителя на аналоговый пин, резистор подключаем на GND, а оставшийся контакт фоторезистора – на VCC:
Модуль #
Фоторезистор бывает в виде модуля и превращается в полноценный датчик освещённости:
Подключение:
- GND -> GND
- VCC -> 5V
- DO -> цифровой пин. Это выход цифрового сигнала освещённости, порог настраивается крутилкой на плате
- AO -> аналоговый пин. Это "сырой" выход аналогового сигнала с датчика
Программирование #
Уроки по теме
Получение значения освещённости сводится к чтению аналогового сигнала на пине при помощи analogRead()
. Сделаем это в цикле и выведем в порт:
void setup() {
Serial.begin(115200); // открыть порт для связи
}
void loop() {
Serial.println(analogRead(0)); // читаем и выводим
delay(50); // ждём
}
После загрузки откроем плоттер и попробуем изменить уровень освещённости: включить выключить свет, частично загородить датчик рукой, и так далее.
Полезные страницы #
- Набор GyverKIT – наш большой стартовый набор Arduino, продаётся в России
- Каталог ссылок на дешёвые Ардуины, датчики, модули и прочие железки с AliExpress
- Обратная связь – сообщить об ошибке в уроке или предложить дополнение по тексту ([email protected])
- Поддержать автора за работу над уроками