Написать скетч для датчика освещенности довольно просто. Нам нужно только снять текущее значение напряжения с того аналогового пина, к которому подключен датчик. Делается это с помощью функции
analogRead(). Все остальные функции и команды нам уже знакомы. Затем мы можем выполнять какие-то действия, в зависимости от уровня освещенности.
В этой программе мы использовали функцию
if – else (если – иначе). Она работает следующим образом: ЕСЛИ выполнено первое условие ( например: если значение analogRead < 1000, то включить светодиод) ИНАЧЕ выполнить второе действие ( в нашем случае выключить светодиод).
Прикрывая фоторезистор (руками или светонепроницаемым предметом), можем наблюдать включение и выключение светодиода. Изменяя в коде пороговый параметр, можем заставлять включать/выключать лампочку при разном уровне освещения.
При монтаже постарайтесь расположить фоторезистор и светодиод максимально далеко друг от друга, чтобы на датчик освещенности попадало меньше света от яркого светодиода.
Алгоритм работы таков:
- Определяем уровень сигнала с аналогового пина (фоторезистора)
- Сравниваем уровень с пороговым значением. Максимально значение будет соответствовать темноте, минимальное – максимальной освещенности. Пороговое значение выберем равное 100 (очень ярко).
- Если уровень меньше порогового – темно, нужно включать светодиод.
- Иначе – выключаем светодиод.
Задания и вопросы:
- Поменяйте пороговые значения для фоторезистора посмотрите, как изменится поведение светодиод.
- Проведите фонариком над светодиодом, измените пороговое значение так, чтобы светодиод гас, когда на фоторезистор светят фонариком.
- Напишите 3 примера использования фоторезисторов в реальной жизни.