Датчики освещенности (освещения), построенные на базе фоторезисторов, довольно часто используются в реальных ардуино проектах. Они относительно просты, не дороги, их легко найти и купить в любом интернет-магазине. Фоторезистор ардуино позволяет контролировать уровень освещенности и реагировать на его изменение. В этой статье мы рассмотрим, что такое фоторезистор, как работает датчик освещенности на его основе, как правильно подключить датчик в платам Arduino.
Фоторезистор ардуино и датчик освещенности
Фоторезистор, как следует из названия, имеет прямое отношение к резисторам, которые часто встречаются практически в любых электронных схемах. Основной характеристикой обычного резистора является величина его сопротивления. От него зависят напряжение и ток, с помощью резистора мы выставляем нужные режимы работы других компонентов. Как правило, значение сопротивления у резистора в одних и тех же условиях эксплуатации практически не меняется.
В отличие от обычного резистора, фоторезистор может менять свое сопротивление в зависимости от уровня окружающего освещения. Это означает, что в электронной схеме будут постоянно меняться параметры, в первую очередь нас интересует напряжение, падающее на фоторезисторе. Фиксируя эти изменения напряжения на аналоговых пинах ардуино, мы можем менять логику работы схемы, создавая тем самым адаптирующиеся под вешние условия устройства.
Фоторезисторы достаточно активно применяются в самых разнообразных системах. Самый распространенный вариант применения — фонари уличного освещения. Если на город опускается ночь или стало пасмурно, то огни включаются автоматически. Можно сделать из фоторезистора экономную лампочку для дома, включающуюся не по расписанию, а в зависимости от освещения. На базе датчика освещенности можно сделать даже охранную систему, которая будет срабатывать сразу после того, как закрытый шкаф или сейф открыли и осветили. Как всегда, сфера применения любых датчиков ардуино ограничена лишь нашей фантазией.
Какие фоторезисторы можно купить в интернет-магазинах
Самый популярный и доступный вариант датчика на рынке – это модели массового выпуска китайских компаний, клоны изделий производителя VT. Там не всегда можно разораться, кто и что именно производит тот или иной поставщик, но для начала работы с фоторезисторами вполне подойдет самый простой вариант.
Начинающему ардуинщику можно посоветовать купить готовый фотомодуль, который выглядит вот так:
На этом модуле уже есть все необходимые элементы для простого подключения фоторезистора к плате ардуино. В некоторых модулях реализована схема с компаратором и доступен цифровой выход и подстроечный резистор для управления.
Российскому радиолюбителю можно посоветовать обратить на российский датчик ФР. Встречающиеся в продаже ФР1-3, ФР1-4 и т.п. — выпускались ещё в союзовские времена. Но, несмотря на это, ФР1-3 – более точная деталь. Из этого следует и разница в цене За ФР просят не более 400 рублей. ФР1-3 будет стоить больше тысячи рублей за штуку.
Маркировка фоторезистора
Современная маркировка моделей, выпускаемых в России, довольно простая. Первые две буквы — ФотоРезистор, цифры после чёрточки обозначают номер разработки. ФР -765 — фоторезистор, разработка 765. Обычно маркируется прямо на корпусе детали
У датчика VT в схеме маркировке указаны диапазон сопротивлений. Например:
- VT83N1 — 12-100кОм (12K – освещенный, 100K – в темноте)
- VT93N2 — 48-500кОм (48K – освещенный, 100K – в темноте).
Иногда для уточнения информации о моделях продавец предоставляет специальный документ от производителя. Кроме параметров работы там же указывается точность детали. У всех моделей диапазон чувствительности расположен в видимой части спектра. Собирая датчик света нужно понимать, что точность срабатывания — понятие условное. Даже у моделей одного производителя, одной партии, одной закупки отличаться она может на 50% и более.
На заводе детали настраиваются на длину волны от красного до зелёного света. Большинство при этом «видит» и инфракрасное излучение. Особо точные детали могут улавливать даже ультрафиолет.
Достоинства и недостатки датчика
Основным недостатком фоторезисторов является чувствительность к спектру. В зависимости от типа падающего света сопротивление может меняется на несколько порядков. К минусам также относится низкая скорость реакции на изменение освещённости. Если свет мигает — датчик не успевает отреагировать. Если же частота изменения довольно велика — резистор вообще перестанет «видеть», что освещённость меняется.
К плюсам можно отнести простоту и доступность. Прямое изменение сопротивления в зависимости от попадающего на неё света позволяет упростить электрическую схему подключения. Сам фоторезистор очень дешев, входит в состав многочисленных наборов и конструкторов ардуино, поэтому доступен практически любому начинающему ардуинщику.
Подключение фоторезистора к ардуино
В проектах arduino фоторезистор используется как датчик освещения. Получая от него информацию, плата может включать или выключать реле, запускать двигатели, отсылать сообщения. Естественно, при этом мы должны правильно подключить датчик.
Схема подключения датчика освещенности к ардуино довольна проста. Если мы используем фоторезистор, то в схеме подключения датчик реализован как делитель напряжения. Одно плечо меняется от уровня освещённости, второе – подаёт напряжение на аналоговый вход. В микросхеме контроллера это напряжение преобразуется в цифровые данные через АЦП. Т.к. сопротивление датчика при попадании на него света уменьшается, то и значение падающего на нем напряжения будет уменьшаться.
В зависимости от того, в каком плече делителя мы поставили фоторезистор, на аналоговый вход будет подаваться или повышенное или уменьшенное напряжение. В том случае, если одна нога фоторезистора подключена к земле, то максимальное значение напряжения будет соответствовать темноте (сопротивление фоторезистора максимальное, почти все напряжение падает на нем), а минимальное – хорошему освещению (сопротивление близко к нулю, напряжение минимальное). Если мы подключим плечо фоторезистора к питанию, то поведение будет противоположным.
Сам монтаж платы не должен вызывать трудностей. Так как фоторезистор не имеет полярности, подключить можно любой стороной, к плате его можно припаять, подсоединить проводами с помощью монтажной платы или использовать обычные клипсы (крокодилы) для соединения. Источником питания в схеме является сам ардуино. Фоторезистор подсоединяется одной ногой к земле, другая подключается к АЦП платы (в нашем примере – АО). К этой же ноге подключаем резистор 10 кОм. Естественно, подключать фоторезистор можно не только на аналоговый пин A0, но и на любой другой.
Несколько слов относительно дополнительного резистора на 10 К. У него в нашей схеме две функции: ограничивать ток в цепи и формировать нужное напряжение в схеме с делителем. Ограничение тока нужно в ситуации, когда полностью освещенный фоторезистор резко уменьшает свое сопротивление. А формирование напряжения – для предсказуемых значений на аналоговом порту. На самом деле для нормальной работы с нашими фоторезисторами хватит и сопротивления 1К.
Меняя значение резистора мы можем “сдвигать” уровень чувствительности в “темную” и “светлую” сторону. Так, 10 К даст быстрое переключение наступления света. В случае 1К датчик света будет более точно определять высокий уровень освещенности.
Если вы используете готовый модуль датчика света, то подключение будет еще более простым. Соединяем выход модуля VCC с разъемом 5В на плате, GND – c землей. Оставшиеся выводы соединяем с разъемами ардуино.
Если на плате представлен цифровой выход, то отправляем его на цифровые пины. Если аналоговый – то на аналоговые. В первом случае мы получим сигнал срабатывания – превышения уровня освещенности (порог срабатывания может быть настроен с помощью резистора подстройки). С аналоговых же пинов мы сможем получать величину напряжения, пропорциональную реальному уровню освещенности.
Пример скетча датчика освещенности на фоторезисторе
Мы подключили схему с фоторезистором к ардуино, убедились, что все сделали правильно. Теперь осталось запрограммировать контроллер.
Написать скетч для датчика освещенности довольно просто. Нам нужно только снять текущее значение напряжения с того аналогового пина, к которому подключен датчик. Делается это с помощью известной нам всем функции analogRead(). Затем мы можем выполнять какие-то действия, в зависимости от уровня освещенности.
Давайте напишем скетч для датчика освещенности, включающего или выключающего светодиод, подключенный по следующей схеме.
Алгоритм работы таков:
- Определяем уровень сигнала с аналогового пина.
- Сравниваем уровень с пороговым значением. Максимально значение будет соответствовать темноте, минимальное – максимальной освещенности. Пороговое значение выберем равное 300.
- Если уровень меньше порогового – темно, нужно включать светодиод.
- Иначе – выключаем светодиод.
Прикрывая фоторезистор (руками или светонепроницаемым предметом), можем наблюдать включение и выключение светодиода. Изменяя в коде пороговый параметр, можем заставлять включать/выключать лампочку при разном уровне освещения.
При монтаже постарайтесь расположить фоторезистор и светодиод максимально далеко друг от друга, чтобы на датчик освещенности попадало меньше света от яркого светодиода.
Датчик освещенности и плавное изменение яркости подсветки
Можно модифицировать проект так, чтобы в зависимости от уровня освещенности менялась яркость светодиода. В алгоритм мы добавим следующие изменения:
- Яркость лампочки будем менять через ШИМ, посылая с помощью analogWrite() на пин со светодиодом значения от 0 до 255.
- Для преобразования цифрового значения уровня освещения от датчика освещенности (от 0 до 1023) в диапазон ШИМ яркости светодиода (от 0 до 255) будем использовать функцию map().
В случае другого способа подключения, при котором сигнал с аналогового порта пропорционален степени освещенности, надо будет дополнительно «обратить» значение, вычитая его из максимального:
Схема датчика освещения на фоторезисторе и реле
Примеры скетча для работы с реле приведены в статье, посвященной программированию реле в ардуино. В данном случае, нам не нужно делать сложных телодвижений: после определения «темноты» мы просто включаем реле, подавай на его пин соответствующее значение.
Заключение
Проекты с применением датчика освещенности на базе фоторезистора достаточно просты и эффектны. Вы можете реализовать множество интересных проектов, при этом стоимость оборудования будет не высока. Подключение фоторезистора осуществляется по схеме делителя напряжения с дополнительным сопротивлением. Датчик подключается к аналоговому порту для измерения различных значений уровня освещенности или к цифровому, если нам важен лишь факт наступления темноты. В скетче мы просто считываем данные с аналогового (или цифрового) порта и принимаем решение, как реагировать на изменения. Будем надеяться, что теперь в ваших проектах появятся и такие вот простейшие «глаза».
Датчики освещенности (освещения), построенные на базе фоторезисторов, довольно часто используются в реальных ардуино проектах. Они относительно просты, не дороги, их легко найти и купить в любом интернет-магазине. Фоторезистор ардуино позволяет контролировать уровень освещенности и реагировать на его изменение. В этой статье мы рассмотрим, что такое фоторезистор, как работает датчик освещенности на его основе, как правильно подключить датчик в платам Arduino.
Фоторезистор ардуино и датчик освещенности
Фоторезистор, как следует из названия, имеет прямое отношение к резисторам, которые часто встречаются практически в любых электронных схемах. Основной характеристикой обычного резистора является величина его сопротивления. От него зависят напряжение и ток, с помощью резистора мы выставляем нужные режимы работы других компонентов. Как правило, значение сопротивления у резистора в одних и тех же условиях эксплуатации практически не меняется.
В отличие от обычного резистора, фоторезистор может менять свое сопротивление в зависимости от уровня окружающего освещения. Это означает, что в электронной схеме будут постоянно меняться параметры, в первую очередь нас интересует напряжение, падающее на фоторезисторе. Фиксируя эти изменения напряжения на аналоговых пинах ардуино, мы можем менять логику работы схемы, создавая тем самым адаптирующиеся под вешние условия устройства.
Фоторезисторы достаточно активно применяются в самых разнообразных системах. Самый распространенный вариант применения — фонари уличного освещения. Если на город опускается ночь или стало пасмурно, то огни включаются автоматически. Можно сделать из фоторезистора экономную лампочку для дома, включающуюся не по расписанию, а в зависимости от освещения. На базе датчика освещенности можно сделать даже охранную систему, которая будет срабатывать сразу после того, как закрытый шкаф или сейф открыли и осветили. Как всегда, сфера применения любых датчиков ардуино ограничена лишь нашей фантазией.
Какие фоторезисторы можно купить в интернет-магазинах
Самый популярный и доступный вариант датчика на рынке – это модели массового выпуска китайских компаний, клоны изделий производителя VT. Там не всегда можно разораться, кто и что именно производит тот или иной поставщик, но для начала работы с фоторезисторами вполне подойдет самый простой вариант.
Начинающему ардуинщику можно посоветовать купить готовый фотомодуль, который выглядит вот так:
На этом модуле уже есть все необходимые элементы для простого подключения фоторезистора к плате ардуино. В некоторых модулях реализована схема с компаратором и доступен цифровой выход и подстроечный резистор для управления.
Российскому радиолюбителю можно посоветовать обратить на российский датчик ФР. Встречающиеся в продаже ФР1-3, ФР1-4 и т.п. — выпускались ещё в союзовские времена. Но, несмотря на это, ФР1-3 – более точная деталь. Из этого следует и разница в цене За ФР просят не более 400 рублей. ФР1-3 будет стоить больше тысячи рублей за штуку.
Маркировка фоторезистора
Современная маркировка моделей, выпускаемых в России, довольно простая. Первые две буквы — ФотоРезистор, цифры после чёрточки обозначают номер разработки. ФР -765 — фоторезистор, разработка 765. Обычно маркируется прямо на корпусе детали
У датчика VT в схеме маркировке указаны диапазон сопротивлений. Например:
- VT83N1 — 12-100кОм (12K – освещенный, 100K – в темноте)
- VT93N2 — 48-500кОм (48K – освещенный, 100K – в темноте).
Иногда для уточнения информации о моделях продавец предоставляет специальный документ от производителя. Кроме параметров работы там же указывается точность детали. У всех моделей диапазон чувствительности расположен в видимой части спектра. Собирая датчик света нужно понимать, что точность срабатывания — понятие условное. Даже у моделей одного производителя, одной партии, одной закупки отличаться она может на 50% и более.
На заводе детали настраиваются на длину волны от красного до зелёного света. Большинство при этом «видит» и инфракрасное излучение. Особо точные детали могут улавливать даже ультрафиолет.
Достоинства и недостатки датчика
Основным недостатком фоторезисторов является чувствительность к спектру. В зависимости от типа падающего света сопротивление может меняется на несколько порядков. К минусам также относится низкая скорость реакции на изменение освещённости. Если свет мигает — датчик не успевает отреагировать. Если же частота изменения довольно велика — резистор вообще перестанет «видеть», что освещённость меняется.
К плюсам можно отнести простоту и доступность. Прямое изменение сопротивления в зависимости от попадающего на неё света позволяет упростить электрическую схему подключения. Сам фоторезистор очень дешев, входит в состав многочисленных наборов и конструкторов ардуино, поэтому доступен практически любому начинающему ардуинщику.
Подключение фоторезистора к ардуино
В проектах arduino фоторезистор используется как датчик освещения. Получая от него информацию, плата может включать или выключать реле, запускать двигатели, отсылать сообщения. Естественно, при этом мы должны правильно подключить датчик.
Схема подключения датчика освещенности к ардуино довольна проста. Если мы используем фоторезистор, то в схеме подключения датчик реализован как делитель напряжения. Одно плечо меняется от уровня освещённости, второе – подаёт напряжение на аналоговый вход. В микросхеме контроллера это напряжение преобразуется в цифровые данные через АЦП. Т.к. сопротивление датчика при попадании на него света уменьшается, то и значение падающего на нем напряжения будет уменьшаться.
В зависимости от того, в каком плече делителя мы поставили фоторезистор, на аналоговый вход будет подаваться или повышенное или уменьшенное напряжение. В том случае, если одна нога фоторезистора подключена к земле, то максимальное значение напряжения будет соответствовать темноте (сопротивление фоторезистора максимальное, почти все напряжение падает на нем), а минимальное – хорошему освещению (сопротивление близко к нулю, напряжение минимальное). Если мы подключим плечо фоторезистора к питанию, то поведение будет противоположным.
Сам монтаж платы не должен вызывать трудностей. Так как фоторезистор не имеет полярности, подключить можно любой стороной, к плате его можно припаять, подсоединить проводами с помощью монтажной платы или использовать обычные клипсы (крокодилы) для соединения. Источником питания в схеме является сам ардуино. Фоторезистор подсоединяется одной ногой к земле, другая подключается к АЦП платы (в нашем примере – АО). К этой же ноге подключаем резистор 10 кОм. Естественно, подключать фоторезистор можно не только на аналоговый пин A0, но и на любой другой.
Несколько слов относительно дополнительного резистора на 10 К. У него в нашей схеме две функции: ограничивать ток в цепи и формировать нужное напряжение в схеме с делителем. Ограничение тока нужно в ситуации, когда полностью освещенный фоторезистор резко уменьшает свое сопротивление. А формирование напряжения – для предсказуемых значений на аналоговом порту. На самом деле для нормальной работы с нашими фоторезисторами хватит и сопротивления 1К.
Меняя значение резистора мы можем “сдвигать” уровень чувствительности в “темную” и “светлую” сторону. Так, 10 К даст быстрое переключение наступления света. В случае 1К датчик света будет более точно определять высокий уровень освещенности.
Если вы используете готовый модуль датчика света, то подключение будет еще более простым. Соединяем выход модуля VCC с разъемом 5В на плате, GND – c землей. Оставшиеся выводы соединяем с разъемами ардуино.
Если на плате представлен цифровой выход, то отправляем его на цифровые пины. Если аналоговый – то на аналоговые. В первом случае мы получим сигнал срабатывания – превышения уровня освещенности (порог срабатывания может быть настроен с помощью резистора подстройки). С аналоговых же пинов мы сможем получать величину напряжения, пропорциональную реальному уровню освещенности.
Пример скетча датчика освещенности на фоторезисторе
Мы подключили схему с фоторезистором к ардуино, убедились, что все сделали правильно. Теперь осталось запрограммировать контроллер.
Написать скетч для датчика освещенности довольно просто. Нам нужно только снять текущее значение напряжения с того аналогового пина, к которому подключен датчик. Делается это с помощью известной нам всем функции analogRead(). Затем мы можем выполнять какие-то действия, в зависимости от уровня освещенности.
Давайте напишем скетч для датчика освещенности, включающего или выключающего светодиод, подключенный по следующей схеме.
Алгоритм работы таков:
- Определяем уровень сигнала с аналогового пина.
- Сравниваем уровень с пороговым значением. Максимально значение будет соответствовать темноте, минимальное – максимальной освещенности. Пороговое значение выберем равное 300.
- Если уровень меньше порогового – темно, нужно включать светодиод.
- Иначе – выключаем светодиод.
Прикрывая фоторезистор (руками или светонепроницаемым предметом), можем наблюдать включение и выключение светодиода. Изменяя в коде пороговый параметр, можем заставлять включать/выключать лампочку при разном уровне освещения.
При монтаже постарайтесь расположить фоторезистор и светодиод максимально далеко друг от друга, чтобы на датчик освещенности попадало меньше света от яркого светодиода.
Датчик освещенности и плавное изменение яркости подсветки
Можно модифицировать проект так, чтобы в зависимости от уровня освещенности менялась яркость светодиода. В алгоритм мы добавим следующие изменения:
- Яркость лампочки будем менять через ШИМ, посылая с помощью analogWrite() на пин со светодиодом значения от 0 до 255.
- Для преобразования цифрового значения уровня освещения от датчика освещенности (от 0 до 1023) в диапазон ШИМ яркости светодиода (от 0 до 255) будем использовать функцию map().
В случае другого способа подключения, при котором сигнал с аналогового порта пропорционален степени освещенности, надо будет дополнительно «обратить» значение, вычитая его из максимального:
Схема датчика освещения на фоторезисторе и реле
Примеры скетча для работы с реле приведены в статье, посвященной программированию реле в ардуино. В данном случае, нам не нужно делать сложных телодвижений: после определения «темноты» мы просто включаем реле, подавай на его пин соответствующее значение.
Заключение
Проекты с применением датчика освещенности на базе фоторезистора достаточно просты и эффектны. Вы можете реализовать множество интересных проектов, при этом стоимость оборудования будет не высока. Подключение фоторезистора осуществляется по схеме делителя напряжения с дополнительным сопротивлением. Датчик подключается к аналоговому порту для измерения различных значений уровня освещенности или к цифровому, если нам важен лишь факт наступления темноты. В скетче мы просто считываем данные с аналогового (или цифрового) порта и принимаем решение, как реагировать на изменения. Будем надеяться, что теперь в ваших проектах появятся и такие вот простейшие «глаза».
Использование фоторезистора вместе с Ардуино, аналоговое значение отображаем на последовательном мониторе.
О фоторезисторах
Фоторезисторы, также известные как светозависимые резисторы (LDR) или фотоэлементы, представляют собой недорогие переменные резисторы, сопротивление которых изменяется в зависимости от количества света, попадающего на его поверхность. В темных условиях сопротивление высокое; в светлых условиях сопротивление ниже.
Из-за неточной природы фоторезисторов, они не подходят для измерения точных уровней света, но способны обнаруживать изменения. Они могут использоваться для реагирования на такие события, как переход от дневного к ночному (и наоборот) режиму для домашней автоматизации и садоводства, и часто используются для управления уличным освещением. Фоторезисторы, размещенные внутри корпуса, могут обнаруживать, когда он открывается, или обнаруживать присутствие объектов, которые блокируют датчик.
Код и схемы ниже описывают использование фоторезистора с Arduino. Наш урок не является подробным руководством, и новичкам, которые не знакомы с Ардуино, мы рекомендуем взглянуть на другие уроки на нашем сайте по изучению основ Arduino. Люди с опытом в области электронной инженерии могут предпочесть более продвинутый курс, который охватывает проводку, установку и программирование Arduino и взаимодействие с LabView. Но надеемся, что наш урок будет полезен всем.
Комплектующие
Для создания проекта нам понадобятся:
- Arduino Uno или Arduino-совместимая плата с аналоговыми входами.
- Arduino IDE (интегрированная среда разработки).
- Фоторезистор (фотоэлемент / резистор, зависящий от света), например, от Adafruit (США) или Maplin (Великобритания).
- Один резистор 10 кОм.
- Один потенциометр 10Ko (переменный резистор).
- Макет и соединительные провода (или подходящие платы и паяльное оборудование).
Работа с электричеством даже при низком напряжении может быть опасной — внимательно следуйте схемам подключения и инструкциям и всегда обращайтесь за советом к квалифицированному и опытному специалисту, если вы в чем-то не уверены.
Фоторезистор представляет собой электронный компонент, удельное сопротивление которого изменяется в зависимости от количества получаемого света (сопротивление уменьшается при воздействии света). Фоторезистор выполнен из сульфида кадмия, полупроводник.
Когда фотоны попадают на ленты, электроны могут проходить через полупроводник. Основное использование фоторезистора — измерение силы света (камера, системы обнаружения и т.д.).
Схемы соединения
Вариантов соединений фоторезистора с Ардуино может быть несколько, но мы разберем пару вариантов.
Вариант 1
- Первый вывод -> 5 В
- Второй вывод -> A0 (сопротивление подключено к заземлению и ко второму выводу фоторезистора).
Вариант 2
Выше показана вторая схема, которую вы можете использовать, чтобы начать любые эксперименты. Фоторезистор и резистор 10 кОм питаются от источника питания 5 В Arduino и образуют делитель потенциала, который защищает Arduino от коротких замыканий и гарантирует, что по крайней мере какое-то сопротивление всегда присутствует на линии.
Провод от этой схемы соединен с аналоговым входом 0 на Arduino. Резисторы понижают напряжение, проходящее через них, и поэтому для считывания изменений в освещении этой цепи вы можете использовать аналого-цифровые преобразователи (АЦП) Arduino для измерения уровня напряжения на входе. АЦП преобразуют аналоговое значение в целое число в диапазоне от 0 до 1023.
Когда фоторезистор подвергается воздействию света, его сопротивление уменьшается, и поэтому показания напряжения будут выше. Когда свет блокируется, сопротивление фоторезистора увеличивается, и поэтому показания напряжения будут ниже.
Фоторезистор представляет собой простой пассивный компонент с двумя клеммами и не имеет полярности — не имеет значения, в каком направлении вы поместите его в цепь.
Коды проекта
Согласно нашим схемам мы приведем примеры различных вариантов для работы фоторезистора с Ардуино с некоторыми разъяснениями.
Вариант 1
В «void setup» мы инициализируем последовательный монитор:
Затем мы читаем аналоговое значение, поступающее от фоторезистора, и определяем его как value («значение»):
И мы записываем значение на последовательном мониторе:
Вариант 2
Чтобы убедиться, что все работает правильно, вы можете создать базовый эскиз, который считывает уровень напряжения и выводит значение в последовательный порт. Закрывая фоторезистор, вы увидите изменение показаний.
Чтобы создать эскиз вольтметра:
- Откройте Arduino IDE.
- Вставьте код ниже.
- Сохраните эскиз. В меню "Файл" выберите "Сохранить как" (англ. — Save as).
Чтобы загрузить эскиз на свой Arduino и посмотреть результат нужно:
- Подключитеь Arduino к компьютеру с помощью USB-кабеля.
- В IDE на панели инструментов нажмите кнопку «Загрузить» (Upload).
- На панели инструментов нажмите кнопку «Последовательный монитор» (Serial Monitor).
Обнаружение изменений
Точные значения, выводимые на последовательном мониторе в скетче выше, будут различаться в зависимости от нескольких факторов:
- Блок питания от Arduino. В частности, при питании от USB-кабеля обычно 5 В блока питания Arduino немного меньше этого идеала;
- Минимальное и максимальное значения сопротивления используемого фоторезистора;
- Точность резистора 10К;
- Конструкция макета и используемых проводов — они имеют небольшие уровни сопротивления, которые могут повлиять на АЦП;
- И количество окружающего света в комнате.
Гораздо важнее обнаруживать изменения уровня освещенности, чем иметь дело с реальными цифрами.
Эскиз ниже считывает уровень освещенности в процедуре настройки для использования в качестве базового измерения, а затем определяет, когда фоторезистор закрыт. Когда это происходит, при вызове digitalWrite() загорается встроенный светодиод Arduino на цифровом выводе 13.
Установка порогов
Приведенный выше эскиз устанавливает порог — значение, которое определяет, сколько изменений ожидается, прежде чем что-то произойдет — в коде. В зависимости от вашей среды и приложения может потребоваться отрегулировать этот порог. Чтобы избежать необходимости подключать Arduino обратно к компьютеру и перепрограммировать его, вы можете использовать потенциометр для регулировки величины сопротивления в цепи.
Вы можете подключить потенциометр разными способами, пример которого показан ниже:
Потенциометры — это другой тип переменного резистора — они обычно присоединяются к регулятору, а их сопротивление устанавливается поворотом ручки влево и вправо. На этой схеме триммер используется для изменения напряжения, подаваемого на фоторезистор. Это влияет на его способность обнаруживать свет и изменяет баланс потенциального делителя, так что количество изменений, зарегистрированных эскизом (base — v, в приведенном выше коде), может быть увеличено или уменьшено.
Для более цифрового подхода вы можете подключить потенциометр так же, как фоторезистор, и прочитать его, используя второй аналоговый вход. Затем вы можете использовать это измерение в эскизе, чтобы определить новое значение для переменного порога.
Два примера схем в уроке демонстрируют основные шаги, связанные с обнаружением изменений в уровнях освещенности с помощью фоторезистора и Arduino. Более интересные проекты, такие как системы домашней автоматизации и сигнализации, могут быть построены с использованием дополнительных компонентов, таких как реле, двигатели и устройства беспроводной связи.