Урок 6. arduino и фоторезистор

Оглавление

KY-009, модуль RGB SMD светодиода

Модуль RGB SMD светодиода

 Заменяется на модуль 2020 или 5050 RGB SMD. Стоимость начинается от 1 р за штуку, высылается правда большими партиями, но если поискать то можно найти и поштучно, сам же модуль от 50 р.
 Довольно привлекательный модуль для начинающих. Позволяет работать с RGB матрицей и получать буквально все цвета светового спектра используя ШИМ выходы контроллера. Поставляется БЕЗ токоограничивающих резисторов, поэтому при установке не забудьте их установить. Возможно заменить на обычный RGB светодиод, все зависит от предназначения и места установки. Недостаток- занимает сразу 3 ШИМ выхода микроконтроллера для полноценной работы. Достоинства- можно визуализировать процесс переключением цветов светодиода. Например: зеленый- работа, красный- остановка или аварийный стоп, синий- настройка и т.д. Кроме того в устройствах с температурными датчиками можно визуализировать степень нагрева термоэлемента. Т.е. чем большую температуру имеет датчик тем «краснее» светодиод и наоборот, чем холоднее- тем «синее».

Способы подключения фотореле

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

Для дома такой способ применяется редко.

Перед установкой проверяется напряжение сети питания ~220 В. Подключение производится от автоматического выключателя. Фотодатчик устанавливается таким образом, чтобы свет от фонаря не попадал на него.

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

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

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

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

Модуль фоторезистора KY-018

Данный модуль представляет собой делитель напряжения, состоящий из фоторезистора и постоянного резистора сопротивлением 10 кОм

Модуль имеет габаритный размер 30 x 14 мм и массу 1,2 г. Для подключения служит трехконтактный разъем. Центральный контакт – питание +5В, контакт «-» — общий, контакт «S» — информационный. Потребляемый ток 270 мкА.

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

Если загрузить в Arduino программу AnalogInput2, то в мониторе последовательного порта среды разработки Arduino IDE можно наблюдать, как меняются показания, снимаемые с аналогового входа платы Arduino.

Модуль легко сделать глазом робота или датчиком освещенности умного дома.

Freeduino – Arduino совместимый микроконтроллер

Что такое Freeduino?

Freeduino — программируемая через USB порт микро-ЭВМ, в которую можно загрузить любую программу и получить компактное автономное микропроцессорное устройство с заложенными в него Вашими функциями.

Freeduino — совместимая с Arduino открытая платформа, популярная во всем мире, и наиболее известная именно под именем Arduino. Встречаются также и русские варианты написания: «Ардуино» и «Фридуино».

Возможности платформы не ограничены имеющейся «на борту» периферией – существуют модули, добавляющие к Freeduino новые функции и интерфейсы, такие, например, как модуль Ethernet, или модуль M-Shield, упрощающий подключение двигателей постоянного тока и шаговых двигателей:

^^^

Чем вызвана популярность проекта?

Проект действительно популярен — Google насчитал больше 60 миллионов ссылок: https://www.google.com/search?q=Arduino

  • Сопряжение устройства с USB портом компьютера;
  • Не требуется навыков программирования микроконтроллеров;
  • Не требуются специализированные программаторы и компиляторы;
  • Программируется на очень простом языке, понятном неспециалисту;
  • Удобная и простая среда разработки программ для микроконтроллера;
  • Широкое распространение в сети Internet: сотни сайтов с примерами готовых проектов и библиотек дополнительных функций;
  • Проект является 100% открытым — доступны все исходные тексты;
  • Устройство достаточно функционально — 14 цифровых входов/выходов, из них 6 выходов с широтно-импульсным модулированием, 6 аналоговых входов;
  • Кроссплатформенность. Среда разработки программ для Freeduino работает на Windows, Macintosh OS X, Linux и других операционных системах, поскольку является открытой и реализована на Java.

Области применения

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

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

Чем отличается Freeduino от Arduino?

Если отвечать коротко, то почти ничем.

Электрические схемы микроконтроллеров Arduino и Freeduino не имеют никаких принципиальных различий, и устройства 100% совместимы друг с другом. Несмотря на то, что весь проект Arduino (включая среду разработки, компилятор, прошивки загрузчика, электрическую схему и прочее) является открытым, есть ограничение на использование названия Arduino. Поэтому энтузиасты и организовали проект Freeduino.

Простой пример использования фоторезистора

В этом скетче берутся считываемые аналоговые значения для определения яркости светодиода. Чем темнее будет, тем ярче будет светить светодиод! Не забудьте, что светодиод должен быть подключен к ШИМ контакту для работы данного примера. В данном случае используется контакт 11.

Этот пример предполагает, что вы знакомы с основами программирования Arduino.

/* простой проверочный скетч для фоторезистора.

Подключите одну ногу фоторезистора к 5 В, вторую к аналоговому пину Analog 0.

После этого подключите резистор на 10 кОм между Analog 0 и землей.

Через резистор подключите светодиод между 11 пином и землей. */

int photocellPin = 0; // сенсор и понижающий резистор 10 кОм подключены к a0

int photocellReading; // считываем аналоговые значения с делителя сенсора

int LEDpin = 11; // подключаем красный светодиод к пину 11 (ШИМ пин)

// информацию для дебагинга мы будем отправлять на серийный монитор

Serial.println(photocellReading); // аналоговые значения с сенсора

// светодиод горит ярче, если уровень освещенности на датчике уменьшается

// это значит, что мы должны инвертировать считываемые значения от 0-1023 к 1023-0

//теперь мы должны преобразовать диапазон 0-1023 в 0-255, так как именно такой диапазон использует analogWrite

LEDbrightness = map(photocellReading, 0, 1023, 0, 255);

Можете попробовать другие резисторы в зависимости от уровня освещенности, который вы хотите измерять!

Как работает такой умный дом?

Чтобы создать умный дом своими руками, потребуется навык Домовёнок Кузя. Через него можно не только контролировать умный дом, но и интегрировать виртуальные устройства напрямую в Яндекс.Алису. Это значит, что вам не придётся постоянно открывать навык, чтобы просто выключить лампочку. С микроконтроллером навык будет связываться через веб-хуки.

«Привет, Siri, подскажи название митапа»

21 октября, Онлайн, Беcплатно

tproger.ru

События и курсы на tproger.ru

Для веб-хуков отлично подходит платформа Blynk — панель управления устройствами на Arduino и Raspberry Pi. Там вы сможете без труда создать графический интерфейс, через который можно будет управлять устройством по Wi-Fi (а ещё по Ethernet, USB, GSM и Bluetooth).

Подключение кнопки Ардуино

Включение и выключение светодиода с помощью кнопки

Давайте начнем с самого простого способа подключения тактовой кнопки. Рассмотрим схему с Arduino в качестве источника питания,  светодиода, ограничительного резистора номиналом 220 Ом и кнопки, которая будет замыкать и размыкать цепь.

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

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

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

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

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

Следует обратить внимание на сопротивление 10 К, которое мы добавили в этой схеме. Более подробно о его предназначении мы поговорим позже, просто имейте в виду, что такой резистор необходим для правильной работы схемы

Скетч для кнопки ардуино с подтягивающим резистором:

/*
  Пример использования тактовой кнопки в ардуино.
  Кнопка подключена к пину 2.
*/

const int PIN_BUTTON = 2;

void setup() {
  Serial.begin(9600);
  pinMode(PIN_LED, OUTPUT);
}

void loop() {
  // Получаем состояние кнопки и выводим в мониторе порта
  int buttonState = digitalRead(PIN_BUTTON);
  Serial.println(buttonState);
  delay(50);
}

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

Фоторезисторы дают вам возможность определять интенсивность освещения.

Они маленькие, недорогие, требуют мало энергии, легки в использовании, практически не подвержены износу.

Именно из-за этого они часто используются в игрушках, гаджетах и приспособлениях

Конечно же, DIY-проекты на базе Arduino не могли обойти своим вниманием эти замечательные датчики

Фоторезисторы по своей сути являются резисторами, которые изменяют свое сопротивление (измеряется в Ом) в зависимости от того, какое количество света попадает на их чувствительные элементы. Как уже говорилось выше, они очень дешевые, имеют различные размеры и технические характеристики, но в большинстве своем не очень точные. Каждый фоторезистор ведет себя несколько иначе по сравнению с другим, даже если они из одной партии от производителя. Различия в показаниях могут достигать 50% и даже больше! Так что рассчитывать на прецизионные измерения не стоит. В основном их используют для определения общего уровня освещенности в конкретных, «локальных», а не «абсолютных» условиях.

Фоторезисторы являются отличным выбором для решения задач вроде «вокруг темно или светло», «есть ли что-то перед датчиком (что ограничивает поступление света)», «какой из участков имеет максимальный уровень освещенности».

Фотопрерыватель KY-010

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

Модуль фотопрерывателя имеет габариты 24 х 15 мм и массу 1,2 г

Данное устройство представляет собой инфракрасный светодиод с токограничительным резистором. Светодиод освещает фототранзистор, с коллектора которого и снимается полезный сигнал. Модуль имеет три вывода: центральный немаркированный – питание +5В, контакт «-» — общий, контакт «S» — информационный. Потребляемый ток 10 мА.

Модуль надежно срабатывает, будучи подключенным, вместо тактовой кнопки с программой LED_with_button .

Управляем освещением при помощи ИК-пульта

В этом примере мы рассмотрим управление с помощью обычного пульта управления от телевизора. Для этого примера потребуется такое оборудование и ПО:

  • Arduino UNO — одна из разновидностей плат ардуино;
  • Блок твердотельного реле FOTEK SSR-25DA;
  • ИК-приемник TSOP1xxx;
  • Любой ИК-Пульт от телевизора;
  • Arduino IDE — программное обеспечение для загрузки микрокода в микроконтроллер Arduino;
  • Лампочка, подключаемая к сети 220 вольт.

В нашем случае мы будем использовать пульт от телевизора Samsung. Ниже показано изображение используемого ИК-Пульта.

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

Программа

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

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

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

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

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

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

Подключение кнопки в режиме INPUT_PULLUP

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


pinMode(PIN_BUTTON, INPUT_PULLUP);

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


pinMode(PIN_BUTTON, INPUT_PULLUP);

digitalWrite(PIN_BUTTON, HIGH);

И все. Можно собрать вот такую сложную схему и работать с кнопкой в скетче.

Виды и принцип работы, обозначение на схемах

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

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

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

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

Фоторезистор на схемах обозначается также как и обычный резистор, но с добавление двух стрелочек, которые направлены к прямоугольнику. В качестве материалов для фоторезисторов широко используются сульфиды, селениды и теллуриды различных элементов, а также соединения типа AlMBv. В инфракрасной области могут быть использованы фоторезисторы на основе PbS, PbSe, PbTe, InSb, в области видимого света и ближнего спектра ультрафиолета — CdS.

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

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

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

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

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

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

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

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

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

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

О фоторезисторах

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

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

Код и схемы ниже описывают использование фоторезистора с Arduino. Наш урок не является подробным руководством, и новичкам, которые не знакомы с Ардуино, мы рекомендуем взглянуть на другие уроки на нашем сайте по изучению основ Arduino. Люди с опытом в области электронной инженерии могут предпочесть более продвинутый курс, который охватывает проводку, установку и программирование Arduino и взаимодействие с LabView. Но надеемся, что наш урок будет полезен всем.

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

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

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

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

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

  • Определяем уровень сигнала с аналогового пина.
  • Сравниваем уровень с пороговым значением. Максимально значение будет соответствовать темноте, минимальное – максимальной освещенности. Пороговое значение выберем равное 300.
  • Если уровень меньше порогового – темно, нужно включать светодиод.
  • Иначе – выключаем светодиод.

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

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

KY-008, модуль лазерного светодиода

Модуль лазерного диода

 Можно заменить на лазерный диод за 20 р  и последовательно поставить токоограничивающий резистор, на Али удовольствие стоит  от 50 р
 Модуль аналогичен KY-005, только в роли излучающего элемента выступает 3 мВт лазерный светодиод. Можно использовать для передачи данных на дальние расстояния (лазер все таки, имеет довольно узкий луч, который имеет больший световой поток при одинаковой мощности инфракрасных и лазерных диодов), если использовать зеркала  то можно построить довольно объемную охранную сигнализацию помещения. Единственный недостаток в ней будет заключаться в юстировке зеркал.

Комплектующие

Для создания проекта нам понадобятся:

  • Arduino Uno или Arduino-совместимая плата с аналоговыми входами.
  • Arduino IDE (интегрированная среда разработки).
  • Фоторезистор (фотоэлемент / резистор, зависящий от света), например, от Adafruit (США) или Maplin (Великобритания).
  • Один резистор 10 кОм.
  • Один потенциометр 10Ko (переменный резистор).
  • Макет и соединительные провода (или подходящие платы и паяльное оборудование).

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

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

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

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

Приведенные ниже технические характеристики относятся к фоторезисторам из магазина Adafruit. Эти фоторезисторы обладают характеристиками, схожими с PDV-P8001. Практически все фоторезисторы имеют различные технические характеристики, хотя работают они очень схоже. Если продавец дает вам ссылку на даташит вашего фоторезистора, ознакомьтесь именно с ними, а не с тем, что изложено ниже.

  • Размер: круглый, 5 мм (0.2″) в диаметре (другие фоторезисторы могут достигать до 12 мм / 0.4″ в диаметре!).
  • Цена: около $1.00 в магазине Adafruit.
  • Диапазон сопротивления: от 200 кОм (темно) до 10 кОм (светло).
  • Диапазон чувствительности: чувствительные элементы фиксируют длины волн в диапазоне от 400 нм (фиолетовый) до 600 нм (оранжевый).
  • Питание: любой с напряжением до 100 В, используют силу тока в среднем около 1 мА (зависит от напряжения питания).

Проблемы при использовании нескольких сенсоров

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

Модуль инфракрасного светодиода KY-005 [4-5]

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

Модуль имеет габариты 35 х 15 мм и масса 1,3 г. Как понимает автор, подключение данного светодиода ничем не отличается от подключения обычного светодиода видимого диапазона. Центральный контакт модуля ни к чему не подключен, контакт «-» — общий, контакт «S» — информационный. Последовательно со светодиодом автор включал резистор сопротивлением 200 Ом, при этом ток, потребляемый светодиодом, составил 17 мА. Излучение данного светодиода глазом заметить невозможно.

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

KY-005, модуль инфракрасного светодиода

Модуль инфракрасного светодиода

 Можно заменить обычным ИК- светодиодом за 15 р, на Али вам придется отдать около 50 р  за один модуль.
 Инфракрасный светодиод, некоторые блоки могут идти с постоянным токоограничивающим резистором, некоторые без оного, обратите внимание при подключении- поставьте резистор. Модуль можно применить для передачи информации, так же можно использовать как детектор пересечения луча вместе с инфракрасным фотодиодом в охранных устройствах, при этом имеют как преимущества так и недостатки

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

Выбор фотореле

  1. Возможность регулирования порога срабатывания позволяет производить подстройку чувствительности датчика в зависимости от времени года или при пасмурной погоде. В результате обеспечивается экономия электричества.
  2. Минимум трудозатрат требуется при монтаже фотореле со встроенным чувствительным элементом. При этом не требуются особые навыки.
  3. Реле с таймером хорошо программируется для своих потребностей и работы в установленном режиме. Можно настроить прибор для отключения в ночное время. Индикация на корпусе прибора и кнопочное управление позволяют легко производить настройку.

Схема

Соедините 9-ый цифровой вывод Arduino с одним из выводов 220 Ом-ного резистора, другой вывод этого резистора соедините с анодом светодиода(длинная ножка), а катод светодиода с землей(контакт GND на плате Arduino). Контакт 5V платы Arduino соедините с одним из выводов фоторезистора, а другой вывод соедините с -ым аналоговым контактом Arduino и с одним из выводов 10кОм-го резистора, другой вывод резистора соедините с землей(контакт GND на плате Arduino).

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

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

В мониторе порта в первом и во втором случае вы увидите, что не получите весь диапазон значений(от 0 до 1023), потому что сопротивление фоторезистора никогда не будет равно нулю. Но вы сможете определить минимальное(MIN_LIGHT) и максимальное(MAX_LIGHT) значение освещенности(значения зависят от условий освещенности, значения постоянного резистора и характеристик фоторезистора), для построения нашего «ночника».

Step 1: Build the Circuit

Take a look at the breadboard circuit pictured. It can be useful to look at a free-wired version of this sample circuit for comparison, pictured. In this step, you will build your own version of this circuit along side the sample in the workplane.

To follow along, load up a new Tinkercad Circuits window and build your own version of this circuit along side the sample.

Identify the photoresistor, LED, resistors, and wires connected to the Arduino in the Tinkercad Circuits workplane.

Drag an Arduino Uno and breadboard from the components panel to the workplane, next to the existing circuit.

Connect breadboard power (+) and ground (-) rails to Arduino 5V and ground (GND), respectively, by clicking to create wires.

Extend power and ground rails to their respective buses on the opposite edge of the breadboard (optional for this circuit but good common practice).

Plug the LED into two different breadboard rows so that the cathode (negative, shorter leg) connects to one leg of a resistor (anywhere from 100-1K ohms is fine). The resistor can go in either orientation because resistors aren’t polarized, unlike LEDs, which must be connected in a certain way to function.

Connect other resistor leg to ground.

Wire up the LED anode (positive, longer leg) to Arduino pin 9.

Drag a photoresistor from the components panel to your breadboard, so its legs plug into two different rows.

Click to create a wire connecting one photoresistor leg to power.

Connect the the other leg to Arduino analog pin A0.

Drag a resistor from the components panel to connect the photoresistor leg connected to A0 with ground, and adjust its value to 4.7k ohms.