Найти в Дзене
Электроника и жизнь

Что такое фоторезистор? Подключение фоторезистора к ATtiny13 и управление светодиодом.

В этой статье мы познакомимся с принципом работы фоторезистора и будем передавать изменяемое им значение в аналоговый порт ATtiny13, обрабатывать и выдавать нужный нам результат в цифровой порт. А именно, включать и выключать светодиод в зависимости от степени освещенности.

Всем привет! Продолжаем знакомиться с микроконтроллерами семейства ATtiny. В этой статье мы познакомимся с принципом работы фоторезистора и будем передавать изменяемое им значение в аналоговый порт ATtiny13, обрабатывать и выдавать нужный нам результат в цифровой порт. А именно, включать и выключать светодиод в зависимости от степени освещенности.

Фоторезистор,  ATtiny13 и светодиод.
Фоторезистор, ATtiny13 и светодиод.

Фоторезистор – это переменный резистор, сопротивление которого меняется в зависимости от количества света, попадающего на его поверхность. Чем больше на него попадаем света, тем меньше его сопротивление. При полном отсутствии освещения, сопротивление резистора будет максимально, а, следовательно, напряжение на его выходе будет близко к нулю.

Сопротивление фоторезистора при нормальном освещении
Сопротивление фоторезистора при нормальном освещении

Сопротивление фоторезистора при затемнении
Сопротивление фоторезистора при затемнении

Разместим фоторезистор на макетной плате. Одну его ножку соединим с плюсом Ардуино. А вторую, через резистор на 10 кОм, соединим с землей. Её же соединим с аналоговым портом А0 Ардуино.

Напишем небольшой скетч, в котором мы будем с помощью функции analogRead() считывать значение из аналогового порта А0 и преобразовывать его в число интервалом от 0 до 1023. А полученное значение выводить в монитор порта.

Скетч для вывода значения, изменяющегося при различной степени освещенности фоторезистора
Скетч для вывода значения, изменяющегося при различной степени освещенности фоторезистора

Загружаем скетч, открываем монитор порта и видим, что значение изменяется по мере изменения освещенности.

Монитор порта
Монитор порта

Теперь вернемся к собранной в прошлом видео схеме с ATtiny13 и мигающими светодиодом. Добавляем к схеме фоторезистор и сопротивление 10 кОм. Одну ножку фоторезистора соединяем с питанием 5 вольт, а другую, которая подключается к земле через сопротивление, с 3 пином ATtiny.

Схема подключения ATTiny13 к светодиоду и фоторезистору, с подключенной Arduino UNO в качестве программатора  (да, знаю, схема ужасна, в следующей статье предложу вариант избавления от кучи проводов).
Схема подключения ATTiny13 к светодиоду и фоторезистору, с подключенной Arduino UNO в качестве программатора (да, знаю, схема ужасна, в следующей статье предложу вариант избавления от кучи проводов).

Вносим изменения в скетч из прошлого видео. Добавляем постоянную, связанную с аналоговым пином А2. Если смотреть даташит на ATtiny, то это как раз ножка номер три.

Распиновка ATtiny13
Распиновка ATtiny13

Переменную val, в которую будет записываться значение функции analogRead. А так же условие, при котором, если значение переменной val менее 600 (что соответствует низкой освещенности), светодиод будет зажигаться, если более, то гаснуть.

Скетч для работы с фоторезистором
Скетч для работы с фоторезистором

Эти ограничения можно подбирать по ситуации опытным путем.

Проверяем, что у нас правильно выбран микроконтроллер и загружаем скетч в ATtiny13.

Закрываем фоторезистор и… светодиод зажигается, открываем – светодиод гаснет.

Закрываем фоторезистор - светодиод загорается
Закрываем фоторезистор - светодиод загорается

Открываем фоторезистор - светодиод гаснет
Открываем фоторезистор - светодиод гаснет

Вот такая у нас получилась эмуляция датчика освещенности. Т.е., мы получили аналоговый сигнал из внешнего источника, обработали его и на основе заранее заданного условия, изменили режим работы другого внешнего устройства. И всё это с помощью маленького и недорогого микроконтроллера ATtiny13. Этот же скетч, без изменений можно реализовать и на микроконтроллере ATtiny85.

Теперь отключим ATtiny13 от Arduino UNO и упростим схему, не забыв добавить источник внешнего питания, начиная от 3-5В.

Схема подключения ATTiny13 к светодиоду и фоторезистору без Arduino UNO
Схема подключения ATTiny13 к светодиоду и фоторезистору без Arduino UNO

ATtiny13 полностью самостоятелен и прекрасно справляется с поставленной задачей.

Пример работы ATtiny13 в качестве фотореле
Пример работы ATtiny13 в качестве фотореле

Ссылка на скетч - https://yadi.sk/d/lfcjsO0hMaFUMw

Ниже размещено видео по материалам данной статьи.

_________________________________________________________

Спасибо, что дочитали до конца! Если статья понравилась, нажмите, пожалуйста, соответствующую кнопку. Если интересна тематика электроники и различных электронных самоделок, подписывайтесь на канал. До встречи в новых статьях!

Другие публикации по теме:

  • ATtiny13 и ATtiny85. Обзор и программирование с помощью Arduino.
  • Создаем удобный модуль для программирования микроконтроллеров ATtiny.
  • Регулируемое фотореле на ATtiny13 для уличного освещения своими руками.