Как подключить фоторезистор к светодиоду

Подключение фоторезистора к ардуино и работа с датчиком освещенности

Датчики освещенности (освещения), построенные на базе фоторезисторов, довольно часто используются в реальных ардуино проектах. Они относительно просты, не дороги, их легко найти и купить в любом интернет-магазине. Фоторезистор ардуино позволяет контролировать уровень освещенности и реагировать на его изменение. В этой статье мы рассмотрим, что такое фоторезистор, как работает датчик освещенности на его основе, как правильно подключить датчик в платам Arduino.

Фоторезистор ардуино и датчик освещенности

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

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

Как подключить фоторезистор к светодиодуФоторезисторы достаточно активно применяются в самых разнообразных системах. Самый распространенный вариант применения — фонари уличного освещения. Если на город опускается ночь или стало пасмурно, то огни включаются автоматически. Можно сделать из фоторезистора экономную лампочку для дома, включающуюся не по расписанию, а в зависимости от освещения. На базе датчика освещенности можно сделать даже охранную систему, которая будет срабатывать сразу после того, как закрытый шкаф или сейф открыли и осветили. Как всегда, сфера применения любых датчиков ардуино ограничена лишь нашей фантазией.

Какие фоторезисторы можно купить в интернет-магазинах

Самый популярный и доступный вариант датчика на рынке – это модели массового выпуска китайских компаний, клоны изделий производителя VT. Там не всегда можно разораться, кто и что именно производит тот или иной поставщик, но для начала работы с фоторезисторами вполне подойдет самый простой вариант.

Как подключить фоторезистор к светодиоду

Начинающему ардуинщику можно посоветовать купить готовый фотомодуль, который выглядит вот так:

Как подключить фоторезистор к светодиодуКак подключить фоторезистор к светодиоду

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

Российскому радиолюбителю можно посоветовать обратить на российский датчик ФР. Встречающиеся в продаже ФР1-3, ФР1-4 и т.п. — выпускались ещё в союзовские времена. Но, несмотря на это, ФР1-3 – более точная деталь. Из этого следует и разница в цене За ФР просят не более 400 рублей. ФР1-3 будет стоить больше тысячи рублей за штуку.

Маркировка фоторезистора

У датчика VT в схеме маркировке указаны диапазон сопротивлений. Например:

Как подключить фоторезистор к светодиоду

Иногда для уточнения информации о моделях продавец предоставляет специальный документ от производителя. Кроме параметров работы там же указывается точность детали. У всех моделей диапазон чувствительности расположен в видимой части спектра. Собирая датчик света нужно понимать, что точность срабатывания — понятие условное. Даже у моделей одного производителя, одной партии, одной закупки отличаться она может на 50% и более.

На заводе детали настраиваются на длину волны от красного до зелёного света. Большинство при этом «видит» и инфракрасное излучение. Особо точные детали могут улавливать даже ультрафиолет.

Достоинства и недостатки датчика

Основным недостатком фоторезисторов является чувствительность к спектру. В зависимости от типа падающего света сопротивление может меняется на несколько порядков. К минусам также относится низкая скорость реакции на изменение освещённости. Если свет мигает — датчик не успевает отреагировать. Если же частота изменения довольно велика — резистор вообще перестанет «видеть», что освещённость меняется.

К плюсам можно отнести простоту и доступность. Прямое изменение сопротивления в зависимости от попадающего на неё света позволяет упростить электрическую схему подключения. Сам фоторезистор очень дешев, входит в состав многочисленных наборов и конструкторов ардуино, поэтому доступен практически любому начинающему ардуинщику.

Подключение фоторезистора к ардуино

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

Схема подключения датчика освещенности к ардуино довольна проста. Если мы используем фоторезистор, то в схеме подключения датчик реализован как делитель напряжения. Одно плечо меняется от уровня освещённости, второе – подаёт напряжение на аналоговый вход. В микросхеме контроллера это напряжение преобразуется в цифровые данные через АЦП. Т.к. сопротивление датчика при попадании на него света уменьшается, то и значение падающего на нем напряжения будет уменьшаться.

Как подключить фоторезистор к светодиоду

В зависимости от того, в каком плече делителя мы поставили фоторезистор, на аналоговый вход будет подаваться или повышенное или уменьшенное напряжение. В том случае, если одна нога фоторезистора подключена к земле, то максимальное значение напряжения будет соответствовать темноте (сопротивление фоторезистора максимальное, почти все напряжение падает на нем), а минимальное – хорошему освещению (сопротивление близко к нулю, напряжение минимальное). Если мы подключим плечо фоторезистора к питанию, то поведение будет противоположным.

Сам монтаж платы не должен вызывать трудностей. Так как фоторезистор не имеет полярности, подключить можно любой стороной, к плате его можно припаять, подсоединить проводами с помощью монтажной платы или использовать обычные клипсы (крокодилы) для соединения. Источником питания в схеме является сам ардуино. Фоторезистор подсоединяется одной ногой к земле, другая подключается к АЦП платы (в нашем примере – АО). К этой же ноге подключаем резистор 10 кОм. Естественно, подключать фоторезистор можно не только на аналоговый пин A0, но и на любой другой.

Несколько слов относительно дополнительного резистора на 10 К. У него в нашей схеме две функции: ограничивать ток в цепи и формировать нужное напряжение в схеме с делителем. Ограничение тока нужно в ситуации, когда полностью освещенный фоторезистор резко уменьшает свое сопротивление. А формирование напряжения – для предсказуемых значений на аналоговом порту. На самом деле для нормальной работы с нашими фоторезисторами хватит и сопротивления 1К.

Меняя значение резистора мы можем “сдвигать” уровень чувствительности в “темную” и “светлую” сторону. Так, 10 К даст быстрое переключение наступления света. В случае 1К датчик света будет более точно определять высокий уровень освещенности.

Если вы используете готовый модуль датчика света, то подключение будет еще более простым. Соединяем выход модуля VCC с разъемом 5В на плате, GND – c землей. Оставшиеся выводы соединяем с разъемами ардуино.

Если на плате представлен цифровой выход, то отправляем его на цифровые пины. Если аналоговый – то на аналоговые. В первом случае мы получим сигнал срабатывания – превышения уровня освещенности (порог срабатывания может быть настроен с помощью резистора подстройки). С аналоговых же пинов мы сможем получать величину напряжения, пропорциональную реальному уровню освещенности.

Пример скетча датчика освещенности на фоторезисторе

Мы подключили схему с фоторезистором к ардуино, убедились, что все сделали правильно. Теперь осталось запрограммировать контроллер.

Написать скетч для датчика освещенности довольно просто. Нам нужно только снять текущее значение напряжения с того аналогового пина, к которому подключен датчик. Делается это с помощью известной нам всем функции analogRead(). Затем мы можем выполнять какие-то действия, в зависимости от уровня освещенности.

Давайте напишем скетч для датчика освещенности, включающего или выключающего светодиод, подключенный по следующей схеме.

Как подключить фоторезистор к светодиоду

Алгоритм работы таков:

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

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

Датчик освещенности и плавное изменение яркости подсветки

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

В случае другого способа подключения, при котором сигнал с аналогового порта пропорционален степени освещенности, надо будет дополнительно «обратить» значение, вычитая его из максимального:

Схема датчика освещения на фоторезисторе и реле

Примеры скетча для работы с реле приведены в статье, посвященной программированию реле в ардуино. В данном случае, нам не нужно делать сложных телодвижений: после определения «темноты» мы просто включаем реле, подавай на его пин соответствующее значение.

Заключение

Проекты с применением датчика освещенности на базе фоторезистора достаточно просты и эффектны. Вы можете реализовать множество интересных проектов, при этом стоимость оборудования будет не высока. Подключение фоторезистора осуществляется по схеме делителя напряжения с дополнительным сопротивлением. Датчик подключается к аналоговому порту для измерения различных значений уровня освещенности или к цифровому, если нам важен лишь факт наступления темноты. В скетче мы просто считываем данные с аналогового (или цифрового) порта и принимаем решение, как реагировать на изменения. Будем надеяться, что теперь в ваших проектах появятся и такие вот простейшие «глаза».

Источник

Как подключить фоторезистор к Ардуино

Как подключить фоторезистор к светодиоду

На этом занятии рассмотрим подключение фоторезистора к аналоговым портам Arduino. Разберем принцип работы полупроводниковых приборов и фоторезисторной автоматики. Соберем схему светильника с автоматическим включением, а также с автоматическим изменением яркости свечения светодиода, в зависимости от освещения. Рассмотрим тип данных unsigned int и оператор if, else в языке C++.

Устройство и принцип работы фоторезистора

Фоторезистором называют полупроводниковый прибор, у которого под воздействием света снижается электрическое сопротивление (у некоторых типов фоторезисторов сопротивление может уменьшаться на два- три порядка). Основной частью фоторезисторов является полупроводниковый элемент (например, сернистый свинец или сернистый кадмий), расположенный так, чтобы на него попадал свет.

Как подключить фоторезистор к светодиодуУстройство фоторезистора, обозначение на электрических схемах

Явлением фотопроводимости называется увеличение электропроводности полупроводника под воздействием электромагнитного излучения. Принцип работы фоторезистора основан на появлении подвижных носителей заряда (электронов) в результате поглощения полупроводником световой энергии, вследствие чего уменьшается его сопротивление, т.е. возникает дополнительная электропроводность.

Устройство и принцип действия фоторезистора максимально просты, поэтому данные полупроводниковые приборы сегодня широко применяются во многих отраслях науки и техники. Это объясняется высокой чувствительностью фоторезисторов, малыми габаритами и простотой конструкции приборов, долговечностью в работе, а также возможностью обеспечить бесконтактные измерения и контроль.

Как подключить фоторезистор к Ардуино

Для этого занятия нам потребуется:

На этом занятии мы соберем электрическую схему «умного» светильника. Если на предыдущем занятии мы с помощью потенциометра включали и изменяли яркость светодиода, то сегодня мы будем использовать фоторезистор в схеме для автоматического включения светодиода. Фоторезистор будет играть роль переменного сопротивления, которое изменяет напряжение на аналоговом входе A0.

Как подключить фоторезистор к светодиодуСхема сборки светильника с фоторезистором на Ардуино

Соберите электрическую цепь, как на картинке выше. Принцип работы схемы в том, что в электрической цепи будет меняться сопротивление, в зависимости от освещенности в помещении, а значит будут меняться данные на аналоговом входе. После сборки принципиальной схемы с фоторезистором, подключите Arduino к компьютеру и загрузите следующую программу с датчиком освещенности в микроконтроллер.

Источник

Ардуино: датчик света на фоторезисторе

Датчик света — это прибор, который позволяет нашему устройству оценивать уровень освещенности. Для чего нужен такой датчик? Например, для системы уличного освещения, чтобы включать лампы только тогда, когда на город спускается ночь.

Еще одно применение датчиков света — это детектирование препятствия роботом, путешествующем по лабиринту. Либо детектирование линии роботом следопытом (LineFollower). Но в этих двух случаях, в паре с датчиком света используют специальный источник света.

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

Как подключить фоторезистор к светодиоду

Различаются фоторезисторы по диапазону сопротивления. Например:

Кроме фоторезистора, в датчиках света часто используют фотодиод и фототранзистор. Оба выглядят как типичные светодиоды:

Как подключить фоторезистор к светодиоду

Подключение

Для того, чтобы подключить наш фоторезистор к Ардуино Уно, необходимо будет вспомнить урок, посвященный аналого-цифровому преобразованию (АЦП). Ведь на выходе цепи фоторезистора мы получим некое напряжение, в диапазоне от 0 до 5 Вольт, которое нам потребуется превратить во вполне себе конкретное число, с которым уже будет работать программа микроконтроллера. Держа в уме, что в Ардуино Уно есть 6 аналоговых входов на ногах A0-A5, подключаем фоторезистор по следующей схеме:

Как подключить фоторезистор к светодиоду

Внешний вид макета

Как подключить фоторезистор к светодиоду

Смотрите что получилось. Мы просто напросто построили обычный делитель напряжения, верхнее плечо которого будет меняться в зависимости от уровня света, падающего на фоторезистор. Снимаемое с нижнего плеча напряжение, мы подаем на аналоговый вход, который преобразует его в число от 0 до 1023.

Как подключить фоторезистор к светодиоду

Программа

Подключив фоторезистор по нехитрой схеме, начинаем писать программу. Первое что мы сделаем, это выведем необработанный сигнал с аналогового входа в последовательный порт, для того чтобы просто понять, как меняется значение на входе A0. Соответствующая программа имеет вид:

Запустив эту программу у нас в хакспейсе, мы получили следующие значения с датчика:

Как подключить фоторезистор к светодиоду

А теперь прикроем датчик рукой:

Как подключить фоторезистор к светодиоду

Видно, что значение сильно меняется. От 830 при прямом попадании света, до 500 в случае затенения (появление преграды на пути света). Зная такое поведение, мы можем численно определить порог срабатывания. Пусть он будет равен, скажем, 600. Не ровно 500, потому что мы хотим обезопасить себя от случайного срабатывания. Вдруг над датчиком пролетит муха — он слегка затенится, и покажет 530.

Наконец, добавим в программу некое действие, которое будет совершаться если уровень освещенности станет ниже заданного порога. Самое простое, что мы можем сделать — это зажигать на Ардуино штатный светодиод #13. Получается такая вот программа:

Накрываем датчик рукой (или выключаем свет в комнате) — светодиод зажигается. Убираем руку — гаснет. Работает, однако. А теперь представьте, что вы зажигаете не светодиод, а подаете сигнал на реле, которое включает лампу в подъезде вашего дома. Получаеся готовый прибор для экономии электроэнергии. Или ставите такой датчик на робота, и он при наступлении ночи ложится спать вместе с вами 🙂 В общем, как говорил профессор Фарнсворт, у датчика света тысяча и одно применение!

К размышлению

Во-первых, чтобы не собирать схему на макетной плате можно использовать готовый модуль с фоторезистором и делителем напряжения на борту.

Как подключить фоторезистор к светодиоду

Такой модуль удобен, если требуется создать прототип устройства или школьный мини-проект, который не должен сбоить от любого прикосновения к проводам.

Во-вторых, чтобы измерять освещенность в люксах, инженеры-осветители используют более сложные датчики — люксметры. Задача такого датчик — чувствовать свет, также, как глаз человека. Модуль люксметра тоже легко подключается к Ардуино, но об этом на другом уроке.

Источник

Управление яркостью светодиода с помощью фоторезистора

Как подключить фоторезистор к светодиоду

На прошлом эксперименте мы научились преобразовывать аналоговый сигнал в цифровой и научились преобразовывать сигнал АЦП в сигнал ШИМ. Существует множество датчиков, которые можно подсоединить к аналоговым выводам плат Arduino. В этом эксперименте мы познакомимся с работой фоторезиста.

Компоненты

Фоторезистор

Фоторезистор — это сенсор, определяющий количество света. В зависимости от количества сета меняется сопротивление фоторезистора. В будущих опытах мы будем использовать фоторезистор для определения освещенности.

Как подключить фоторезистор к светодиоду

Фоторезистор рекомендуется подключать следующим образом:

Как подключить фоторезистор к светодиоду

В зависимости от освещенности меняется сопротивление R1, что приведет к изменению напряжения на входе платы Arduino.

Схема

Будем использовать аналоговый вход A0 для считывания напряжения с фоторезистора и цифровой выход D9 для контроля светодиода.

Принципиальная схема

Как подключить фоторезистор к светодиоду

Соединение компонентов

Скетч

Этот скетч считывает напряжение на фоторезисторе и изменяет яркость свечения светодиода.

Скомпилируйте и загрузите скетч в микроконтроллер.

Источник

Урок 2. Фоторезистор и светодиод. Управление яркостью.

Немного, обманул вас с предупреждением о том что не смогу быстро написать следующий урок, появилось немного времени и решил опубликовать еще один урок-

Управление яркостью свечения светодиода фоторезистором

Как подключить фоторезистор к светодиоду Схема подключения фоторезистора и светодиода к ARDUINO

Друг дал фоторезистор и я практически сразу же приступил к осваиванию. Что нам нужно для этого урока: ARDUINO, макетная плата (можно обойтись без нее но будет неудобно), провода, фоторезистор, светодиод, 2 сопротивления по 1 кОм. Собираем схему. Заливаем в ARDUINO такой скетч:

Объяснений по программе практически не нужно- за исключением строки

analogWrite (10, analogRead (0));

Запускаем и… Что то не так. Вроде работает но… как только яркость свечения светодиода опускается до минимума опять резко вспыхивает и потихоньку затухает, так же и когда светодиод горит ярко, хлоп и начинает загораться потихоньку. ARDUINO работает но как то не так как надо. Что ж, приступаем к отладке. Дописываем строку Serial.begin(9600); в void setup () и Serial.println ( analogRead (0)); в void loop (). Скетч должен иметь такой вид:

Как подключить фоторезистор к светодиоду Монитор порта ARDUINO

справа вверху и видим что высвечиваются данные с порта А0. Что мы видим?

Как подключить фоторезистор к светодиоду Пример данных монитора порта ARDUINO

При затемнении фоторезистора цифры уменьшаются при увеличении освещения- соответственно увеличиваются. Мы знаем что 10 пин ШИМ и не может принимать значения выше 255 и ниже 0, таким образом при пересечении этих пределов он вычитает 256 из поступающих данных и передает остаток в порт. Т.е. если значение, например, 381- то получается что в порт передается 381-256= 125. Так же и со слишком высокими значениями, например 825, в порт придет 825-256-256-256=57. Так будет обрабатываться любое число. Откуда же такое значение пришло? Аналоговый порт А0 работает в 10 битовом режиме и может работать в пределах от 0 до 1023, т.е. поступающий сигнал он раскладывает от 0 (0В) до 1024 (5В). Таким образом мы пытаемся впихнуть 10 битный сигнал в 8 битный порт! Естественно у нас происходит переполнение и контроллер вынужден обработать данные, т.е. подогнать под свой формат так как он умеет. Что же тогда делать? Да все просто- нужно просто поделить поступающий данные на 4! Таким образом нужно изменить строку analogWrite (10, analogRead (0)); на analogWrite (10, analogRead (0)/4); Теперь все будет работать правильно, контроллер сам приведет десятичные числа в целые. Что еще можно сделать с помощью монитора порта? Если вы отлаживаете что то серьезное то можно передавать значения в ARDUINO и следить за выполнением команды. Вещь очень нужная и позволяет отслеживать практически любой шаг программы.

Теперь можем немного модернизировать программу. Допустим вы сделали какое то готовое устройство, установили его и вдруг оно перестало работать… Обидно, надо снимать его и разбираться уже дома. Давайте попробуем смоделировать какую нибудь неисправность. Например оборвался фоторезистор или повредились провода идущие от ARDUINO к датчику. Включаем монитор порта, выдергиваем прямо в работающем блоке фоторезистор… Монитор бодренько кажет ноли. В настоящих условиях значение никогда не будет равно 0, т.к. даже самое большое сопротивление фоторезистора дает какую то величину смещения напряжения на входе А0. Значит по этому условию мы можем сделать аварийную сигнализацию! Устанавливаем обратно фоторезистор, дописываем код из первого урока , получаем следующее:

Как видим это практически вся программа blink, вот вам и реальный пример ее использования! В условии проверяем значение порта А0 и если оно равно 0- мигаем светодиодом на плате. Если не равно 0 то гасим светодиод и работаем в нормальном режиме! Кстати можно сделать обратную зависимость от освещения фоторезистора, чем ниже освещение- тем ярче будет гореть светодиод, для этого надо изменить строку analogWrite (10, analogRead (0)/4); на analogWrite (10, 255- analogRead (0)/4);. Это может пригодится в автомате освещения, т.е. днем свет не горит а ночью горит на полную мощность. Прямое включение можно применить в подсветке электронных устройств, например часов, днем подсветка будет ярче нежели чем ночью. Спасибо за внимание и удачи в освоении ARDUINO!

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *