Ик пульт ардуино
Содержание:
- Подключение фоторезистора к ардуино
- Обзор
- Схема соединений
- Настройка работы
- Пример для Raspberry Pi
- KY-013, аналоговый термодатчик
- Описание датчика движения
- Принцип работы
- Схемы подключения датчика давления воздуха
- KY-009, модуль RGB SMD светодиода
- Пирлоэлектрический датчик движения — общая информация
- Схема подключения датчика движения к Ардуино
- Первая модель
- Устройство и характеристики
- Пассивные датчики движения
- Пример для Arduino
- Принцип работы
- Модуль ИК дальномера KY-032
- Основные принципы работы
- Как работает PIR датчик движения?
- Датчик расстояния в проектах Arduino
- Использование PIR датчика в качестве автономного устройства
Подключение фоторезистора к ардуино
В проектах arduino фоторезистор используется как датчик освещения. Получая от него информацию, плата может включать или выключать реле, запускать двигатели, отсылать сообщения. Естественно, при этом мы должны правильно подключить датчик.
Схема подключения датчика освещенности к ардуино довольна проста. Если мы используем фоторезистор, то в схеме подключения датчик реализован как делитель напряжения. Одно плечо меняется от уровня освещённости, второе – подаёт напряжение на аналоговый вход. В микросхеме контроллера это напряжение преобразуется в цифровые данные через АЦП. Т.к. сопротивление датчика при попадании на него света уменьшается, то и значение падающего на нем напряжения будет уменьшаться.
В зависимости от того, в каком плече делителя мы поставили фоторезистор, на аналоговый вход будет подаваться или повышенное или уменьшенное напряжение. В том случае, если одна нога фоторезистора подключена к земле, то максимальное значение напряжения будет соответствовать темноте (сопротивление фоторезистора максимальное, почти все напряжение падает на нем), а минимальное – хорошему освещению (сопротивление близко к нулю, напряжение минимальное). Если мы подключим плечо фоторезистора к питанию, то поведение будет противоположным.
Сам монтаж платы не должен вызывать трудностей. Так как фоторезистор не имеет полярности, подключить можно любой стороной, к плате его можно припаять, подсоединить проводами с помощью монтажной платы или использовать обычные клипсы (крокодилы) для соединения. Источником питания в схеме является сам ардуино. Фоторезистор подсоединяется одной ногой к земле, другая подключается к АЦП платы (в нашем примере – АО). К этой же ноге подключаем резистор 10 кОм. Естественно, подключать фоторезистор можно не только на аналоговый пин A0, но и на любой другой.
Несколько слов относительно дополнительного резистора на 10 К. У него в нашей схеме две функции: ограничивать ток в цепи и формировать нужное напряжение в схеме с делителем. Ограничение тока нужно в ситуации, когда полностью освещенный фоторезистор резко уменьшает свое сопротивление. А формирование напряжения – для предсказуемых значений на аналоговом порту. На самом деле для нормальной работы с нашими фоторезисторами хватит и сопротивления 1К.
Меняя значение резистора мы можем “сдвигать” уровень чувствительности в “темную” и “светлую” сторону. Так, 10 К даст быстрое переключение наступления света. В случае 1К датчик света будет более точно определять высокий уровень освещенности.
Если вы используете готовый модуль датчика света, то подключение будет еще более простым. Соединяем выход модуля VCC с разъемом 5В на плате, GND – c землей. Оставшиеся выводы соединяем с разъемами ардуино.
Если на плате представлен цифровой выход, то отправляем его на цифровые пины. Если аналоговый – то на аналоговые. В первом случае мы получим сигнал срабатывания – превышения уровня освещенности (порог срабатывания может быть настроен с помощью резистора подстройки). С аналоговых же пинов мы сможем получать величину напряжения, пропорциональную реальному уровню освещенности.
Обзор
Инфракрасные (ИК, IR) датчики обычно используются для измерения расстояний, но их также можно использовать и для обнаружения объектов. ИК-датчики состоят из инфракрасного передатчика и инфракрасного приемника. Передатчик выдает импульсы инфракрасного излучения в то время, как приемник детектирует любые отражения. Если приемник обнаруживает отражение, это означает, что перед датчиком на некотором расстоянии есть какой-то объект. Если отражения нет, нет и объекта.
IR-датчик, который мы будем использовать в данном проекте, обнаруживает отражение в определенном диапазоне. Эти датчики имеют небольшое линейное устройство с зарядовой связью (CCD), которое детектирует угол, с которым ИК-излучение возвращается к датчику. Как показано на рисунке ниже, датчик передает инфракрасный импульс в пространство, а когда перед датчиком появляется объект, импульс отражается обратно к датчику под углом, пропорциональным расстоянию между объектом и датчиком. Приемник датчика детектирует и выводит угол, и, используя это значение, вы можете рассчитать расстояние.
Принцип действия инфракрасного датчика расстояния
Подключив пару ИК-датчиков к Arduino, мы можем сделать простую охранную сигнализацию. Мы установим датчики на дверной косяк, и, правильно выровняв датчики, мы сможем обнаружить, когда кто-то проходит через дверь. Когда это произойдет, сигнал на выходе ИК-датчика изменится, а мы обнаружим это изменение, постоянно считывая выходной сигнал датчиков с помощью Arduino. В данном примере мы знаем, что объект проходит через дверь, когда показание на выходе ИК-датчика превышает 400. Когда это произойдет, Arduino включит сигнал тревоги. Чтобы сбросить срабатывание сигнализации, пользователь может нажать на кнопку.
Схема соединений
Подключите Arduino к RCWL-0516, символьному ЖК-дисплею, зуммеру и светодиоду, как показано на схеме ниже.
Таблица соединений 1:
Arduino Pin Number | |
---|---|
LED | 2 |
Content | 3 |
Таблица соединений 2:
Arduino Analog IO | Character LCD |
---|---|
A5 | SCL |
A4 | SDA |
Таблица соединений 3:
Arduino Nano | RCWL-0516 |
---|---|
GND | GND |
5V | VIN |
D2 | OUT |
Вывод 3V3 на RCWL-0516 является выходным выводом. Вывод CDS позволяет вам добавить LDR (светозависимый резистор) к плате, что позволяет работать в режиме низкого энергопотребления, чтобы датчик активировался только в темноте. После подключения перепроверьте соединения, а затем загрузите исходный код (ниже).
Настройка работы
Перед использованием PIR датчика, его, как всякий прибор, необходимо настроить. Для этого он обладает тремя опциями настроек:
- освещённость;
- чувствительность;
- время задержки.
Освещённость
Для того чтобы прибор не включал свет днём, поздним утром и с началом сумерек, можно выполнить более тонкую регулировку по параметру «LUX».
Последовательность действий:
- Вывернуть регулятор на максимум.
- Как только наступил желаемый уровень темноты, медленно поворачивать регулятор в обратную сторону, до тех пор, пока датчик не сработает и включится свет в помещении.
Теперь прибор будет включаться именно в тот момент, когда свет в помещении будет более востребован.
Чувствительность
Регулировка чувствительности исключает реакцию датчика на появление в поле его «зрения» мелких домашних животных.
Настройка прибора выполняется винтом «Sens» опытным путем:
- На первом этапе выставляем максимальную чувствительность.
- Теперь проверяем, будет ли прибор работать на требуемом расстоянии, уменьшая уровень пока он перестанет реагировать на человека.
- Проверяем, какая реакция на мелких животных.
- Осталось зафиксировать тот порог чувствительности, который вас устроит.
Правильная регулировка состоит в том, чтобы датчик зафиксировал движение человека на границе приемлемой освещенности.
Время задержки
Время задержки — параметр, по которому видно, какое время после срабатывания датчик «увидит», что движения больше нет. Временной интервал регулируется в границах от 5 секунд до 10 минут.
Регулировка выполняется регулятором с надписью «Time»:
- Выкручиваем регулятор до минимального значения.
- Начать движение в поле работы датчика.
- Засекаем время срабатывания
- Эмпирическим путем выставляется нужное время срабатывания.
- Нужные параметры сохраняются.
Что дает временная задержка?
Представьте, что человек поднялся на пятый этаж: ему нужно отдышаться, найти ключи, открыть дверь. И свет должен гореть. То есть параметр задержки должен быть максимальным.
Другое дело если датчик установлен в квартирном коридоре. Тут можно выставить минимальную задержку порядка 3–5 секунд.
Вообще индикаторы движения могут быть установлены в различных местах. Наиболее актуальны эти приборы в местах где часто собираются люди. Например, в офисах и конторах такая задержка по времени включения/выключения должна быть максимально допустимой. И наоборот в малопосещаемых местах задержку включения можно установить на самый минимум.
Пример для Raspberry Pi
Поймайте живой объект одноплатником Raspberry Pi. Подключите сенсор движения к пину Raspberry. Для избежания макеток и проводов используйте плату расширения Troyka Cap.
Код программы
- motionState.py
-
# библиотека для работы с методами языка Wiring (Arduino) import wiringpi as wp # инициализация WiringPi wp.wiringPiSetup() # пин 4 в режим входа wp.pinMode(4, ) while (True): # считываем состояние с датчика движения motionState = wp.digitalRead(4) # печатаем результат в консоль print(motionState); # ждём 100 мс wp.delay(100)
После запуска скрипта вы увидите текущие показатели сенсора. Пока движения нет — в консоле выводятся нули, при обнаружении живого объекта — единицы.
KY-013, аналоговый термодатчик
Модуль аналогового термодатчика |
Такой же терморезистор стоит от 3 р, в составе модуля- от 50 р |
За таким красивым названием кроется обыкновенный терморезистор! Опять же практически любые датчики изначально являются АНАЛОГЫВЫМИ. Только после соответствующей обработки сигнала они уже становятся ЦИФРОВЫМИ. Но в нашем случае изначально аналоговый датчик. Поэтому подключать его нужно к АНАЛОГОВЫМ входам ARDUINO. Диапазон рабочей температуры датчика -55…125 °C, т.е. на 1 бит 10 битного преобразования приходится (125+55)/1024= 0,17578125 градуса Цельсия ,что позволяет довольно точно измерять температуру. Кроме того датчик имеет малые размеры что позволяет снизить инерционность при измерении. Т.е. чем меньше датчик тем меньше нужно времени для достижения им температуры окружающей среды. Применяется, как и понятно из описания, для измерения температуры. |
Описание датчика движения
Создаваемые на базе Ардуино сенсоры перемещения устроены довольно просто. Они работают на принципе регистрации инфракрасных излучений. Помимо контроллера, основной компонент устройства — высокочувствительный пассивный пироэлектрический (PIR) элемент, регистрирующий присутствие определенного уровня инфракрасного спектра. Чем теплее появившийся в радиусе действия сенсора объект, тем сильнее излучение.
Типичный PIR-датчик снабжается полусферой с фокусирующими поступающую на сегменты сенсора тепловую энергию линзами. Обычно применяется линза Френеля: она хорошо концентрирует тепло и существенно увеличивает чувствительность. В качестве платформы нередко берут Arduino Uno, но возможно создание датчика и на других версиях контроллера.
Конструктивно PIR-сенсор делится на две части
Поскольку для устройства принципиально важно улавливание движения в зоне покрытия, а не уровень тепловой эмиссии, части устанавливаются так, чтобы при появлении на одной из них большего уровня излучения на выход гаджета подавался сигнал low или high. Далее он обрабатывается микроконтроллером
Принцип работы
Скорость распространения звука конечна для разных сред. К тому же, он отражается от предметов. В жизни мы слышим последнее в качестве эха. Вычисляя разницу между отправкой звуковой волны и временем ее возврата, легко получают расстояние до отразившего его препятствия в конкретной среде. Настоящий принцип и используется на Ардуино датчиках. Конечно, небольшие различия будут в зависимости от текущей температуры или изменившегося давления в окружающем пространстве. Их учитывает микроконтроллер при обработке времени ответа, для получения более точных сведений о расстоянии.
Разница ультразвукового сонара от прочих излучателей слышимых колебаний в направленности действия. Волна двигается от него в определенную сторону, охватывая угол до 15–20° перед прибором. Оттуда же ожидается эхо-возврат, отраженный от препятствия. С целью уменьшения влияния сторонних помех на сигнал используется звук с частотой в 40 КГц, не слышимый человеческим ухом.
Схемы подключения датчика давления воздуха
Следующая конструкция построена на сенсоре-анероиде BMP180. Экран, в нее входящий, будет отображать текущее давление атмосферного воздуха и температуру окружающей среды. Для изготовления понадобятся:
Элемент | Наименование/характеристика | Количество |
---|---|---|
Микроконтроллер | Arduino UNO/Nano | 1 |
Датчик | BMP180 | 1 |
Экран | HD447080LCD-1602 | 1 |
Резистор | 100 Ом | 1 |
Регулируемый резистор | До 10 кОм | 1 |
Ну и конечно провода для связки всего названого в единую систему.
Библиотека, управляющая сенсором берется тут: https://github.com/adafruit/Adafruit-BMP085-Library
Принципиальная схема
Фотография итогового устройства:
Плата-шилд самодельная, для желающих повторить, она вблизи:
Датчик питается от 3.3V, соответственно и подключаются его контакты получения энергии (VCC и GND) к плате Arduino. Для передачи данных используются входы A5 (SCL) и A4(SDA). Дисплей с микроконтроллером соединяется согласно следующей таблицы:
Arduino | Экран |
---|---|
D6 | E и D4 вместе |
D4 | D5 |
D3 | D6 |
D2 | D7 |
GND | GND |
D7 | RS |
Скетч
Приведенная программа — всего лишь базис операций. Ее можно модифицировать по собственному разумению, добавляя функции отслеживания давления или температуры. Можно даже использовать конечное устройство, после необходимой модификации кода, в качестве своеобразного барометра, предупреждающего об идущей буре. Показания давления, в названом случае сильно упадут.
KY-009, модуль RGB SMD светодиода
Модуль RGB SMD светодиода |
Заменяется на модуль 2020 или 5050 RGB SMD. Стоимость начинается от 1 р за штуку, высылается правда большими партиями, но если поискать то можно найти и поштучно, сам же модуль от 50 р. |
Довольно привлекательный модуль для начинающих. Позволяет работать с RGB матрицей и получать буквально все цвета светового спектра используя ШИМ выходы контроллера. Поставляется БЕЗ токоограничивающих резисторов, поэтому при установке не забудьте их установить. Возможно заменить на обычный RGB светодиод, все зависит от предназначения и места установки. Недостаток- занимает сразу 3 ШИМ выхода микроконтроллера для полноценной работы. Достоинства- можно визуализировать процесс переключением цветов светодиода. Например: зеленый- работа, красный- остановка или аварийный стоп, синий- настройка и т.д. Кроме того в устройствах с температурными датчиками можно визуализировать степень нагрева термоэлемента. Т.е. чем большую температуру имеет датчик тем «краснее» светодиод и наоборот, чем холоднее- тем «синее». |
Пирлоэлектрический датчик движения — общая информация
ПИР датчики движения по сути состоят из пироэлектрического чувствительного элемента (цилиндрическая деталь с прямоугольным кристаллом в центре), который улавливает уровень инфракрасного излучения. Все вокруг излучает небольшой уровень радиации. Чем больше температура, тем выше уровень излучения. Датчик фактически разделен на две части. Это обусловлено тем, что нам важен не уровень излучения, а непосредственно наличие движение в пределах его зоны чувствительности. Две части датчика установлены таким образом, что если одна половина улавливает больший уровень излучения, чем другая, выходной сигнал будет генерировать значение high или low.
Сам модуль, на котором установлен датчик движения, состоит также из дополнительной электрической обвязки: предохранители, резисторы и конденсаторы. В большинстве недорогих пир-датчиков используются недорогие чипы BISS0001 («Micro Power PIR Motion Detector IC»). Этот чип воспринимает внешний источник излучения и проводит минимальную обработку сигнала для его преобразования из аналогового в цифровой вид.
Одна из базовых моделей пироэлектрических датчиков подобного класса выглядит так:
Более новые модели PIR-датчиков имеют дополнительные выходы для дополнительной настройки и установленные коннекторы для сигнала, питания и земли:
ПИР датчики отлично подходят для проектов, в которых необходимо определять наличие или отсутствие человека в пределах определенного рабочего пространства. Помимо перечисленных выше достоинство подобных датчиков, они имеют большую зону чувствительности. Однако учтите, что пироэлектрические датчики не предоставят вам информации о том, сколько человек вокруг и насколько близко они находятся к датчику. Кроме того, сработать они могут и на домашних питомцев.
Общая техническая информация
Эти технические характеристики относятся к PIR датчикам, которые продаются в магазине Adafruit. Принцип работы аналогичных датчиков похожий, хотя технические характеристики могут отличаться. Так что прежде чем работать с ПИР-датчиком, ознакомьтесь с его даташитом.
- Форма: Прямоугольник;
- Цена: около 10.00 долларов в магазине Adafruit;
- Выходной сигнал: цифровой импульс high (3 В) при наличии движения и цифровой сигнал low, когда движения нет. Длина импульса зависит от резисторов и конденсаторов на самом модуле и разная в различных датчиках;
- Диапазон чувствительности: до 6 метров. Угол обзора 110° x 70°;
- Питание: 3В — 9В, но наилучший вариант — 5 вольт;
- BIS0001 (даташит);
- RE200B (даташит);
- NL11NH (даташит);
- Parallax (даташит).
Ссылки для заказа оборудования, которое используется в статье в дальнейшем из Китая
>Для заказа с Aliexpress:
Схема подключения датчика движения к Ардуино
Подключение Pir-датчика к Ардуино выполнить не сложно. Чаще всего модули с сенсорами движения оснащены тремя коннекторами на задней части. Распиновка каждого устройства зависит от производителя, но чаще всего возле выходов есть соответствующие надписи. Поэтому, прежде чем выполнить подключение датчика к Arduino необходимо ознакомиться с обозначениями. Один выход идет к земле (GND), второй – обеспечивает выдачу необходимого сигнала с сенсоров (+5В), а третий является цифровым выходом, с которого снимаются данные.
Подключение Pir-сенсора:
- «Земля» – на любой из коннекторов GND Arduino;
- Цифровой выход – на любой цифровой вход или выход Arduino;
- Питание – на +5В на Arduino.
Схема подключения инфракрасного датчика к Ардуино представлена на рисунке.
Первая модель
Датчик Arduino является электронным конструктором, предназначенным для быстрой сборки автоматических устройств различной степени сложности (высокой, средней и низкой). В основе этого устройства находятся микропроцессорные модули, датчики, а также интерфейсы к ним.
Датчик Arduino
Эта программа позволит значительно упростить создание проектов по прошивке. В результате получается полупроводниковый электронный сенсор с достаточно высокой точностью работы. Помимо этих датчиков также используются разнообразные механические (реагирующие на прикосновение) и химические устройства (реагирующие на конкретные химические показатели). Но последние используются только в редких случаях. Например, они могут реагировать на некоторые газы или пары спиртов. Но их стоимость значительно выше, чем обычного процессорного модуля (в диапазоне от 10 до 50%). Датчики Arduino классифицируются по тому параметру, на реакцию которого они настроены реагировать (температурный, звуковой или ультразвуковой показатель и т.д.). Благодаря эффективному принципу работы, а также многофункциональности в плане измеряемых параметров, датчики Arduino на сегодняшний день широко применяются в самых разнообразных сферах деятельности человека.
Устройство и характеристики
Устройство отправляет SMS при возникновении следующих событий:
- открытие двери (герконовый датчик);
- резкое изменение освещения (фоторезистор);
- движение (PIR датчик);
- выход температуры из заданного диапазона;
- низкое напряжение батареи.
Пример SMS с событием
Также, раз в сутки можно настроить время ежедневного отчета
Питается устройство от 3-х батареек AA. Расчетное время работы ≥6мес.
Настройка устройства, считывание логов событий и построение месячного графика температуры происходит с помощью утилиты (Python 2.7 + Tk + pyserial + matplotli).
Основное окно утилиты настройки
Окно лога событий
Окно лога температуры
Пассивные датчики движения
Самый универсальный тип детекторов. Именно они прекрасно подходят для автоматизации освещения.
В их конструкции есть только приемник, который успешно различает тепловые зоны тех объектов, которые его окружают. Понятно, что раз девайс работает с разницами в температурных показателях, то такие устройства гораздо успешнее будут функционировать в прохладной обстановке. В этом пространстве различия между теплом от человека и окружающего воздуха проявляются более четче. В этих случаях вероятность ложного срабатывания прибора резко снижается — движущийся объект на общем фоне будет более различимым.
Кроме того, извещатели такого типа успешно применяются в охранных комплексах и системах наблюдения. Номенклатура изделий такого типа очень широка. Практически для любых задач можно подобрать свой детектор движения по мощности и дальности действия.
Есть и переносные ДД автономного типа. Охранную систему можно развернуть буквально в пустом поле для наблюдения за периметром кемпингов к примеру. Если охранную зону пересекут дикие животные, датчики зафиксируют движение и подадут людям сигнал опасности.
Пример для Arduino
Схема подключения
Подключите датчик движения к Arduino Uno через Troyka Shield к цифровому пину.
С Troyka Slot Shield, провода не понадобятся вовсе.
Код программы
Выведете в Serial-порт текущее состояние датчика с обновлением каждые 100 миллисекунд.
- motionState.ino
-
// пин инфракрасного датчика движения #define MOTION_PIN 4 void setup() { // открываем монитор Serial-порта Serial.begin(9600); // настраиваем пин в режим входа pinMode(MOTION_PIN, INPUT); } void loop() { // считываем состояние пина int motionState = digitalRead(MOTION_PIN); // выводим в Serial-порт Serial.println(motionState); delay(100); }
После прошивки платы, вы увидите бегущие нули. А как только появится живой объект на горизонте — нули сменятся на единицы.
Принцип работы
Каждый теплокровный объект является источником теплового излучения. Длина волны теплового излучения зависит от температуры и находится в инфракрасной части спектра. ИК излучение невидимо для глаза, но улавливается пироэлектрическими датчиками.
- В радиусе видимости датчика полная тишина. Каждый чувствительный элемент PIR-сенсора получает постоянную дозу излучения. Следовательно выдаваемое напряжение равноценно.
- В области видимости появляется человек. Персонаж первым делом попадает в зону обозрения первого элемента, на котором появляется положительный электрический импульс.
- Человек движется и пересекает второй элемент, который генерирует отрицательный импульс.
- Разнонаправленные импульсы регистрируются электронной схемой модуля, которая фиксирует перемещение объекта. В результате на выходе модуля генерируется положительный импульс.
Модуль ИК дальномера KY-032
Модуль предназначен для обнаружения препятствий без непосредственного контакта с ними. На печатной плате модуля располагается ИК-светодиод и ИК-фотоприемник, когда интенсивность отраженного от препятствия излучения превышает заданный порог, формируется сигнал срабатывания датчика.
Модуль имеет размер 45 х 16 х 12 мм, массу 4 г, в печатной плате модуля предусмотрено крепежное отверстие диаметром 3 мм. На плате имеется четырехконтактный разъем, через который осуществляется питание модуля и передача информации. Назначение выводов разъема следующее: «GND» — общий провод, «+»– питание +5В, «OUT» — информационный выход, «EN» — управление режимом работы. Для индикации подачи питания на датчик служит светодиод «Pled», при срабатывании загорается светодиод «Sled».
На информационном цифровом выходе «OUT» появляется низкий логический уровень, если в поле зрения датчика имеется препятствие, иначе на выходе высокий логический уровень. В этом можно убедиться, загрузив в память Arduino UNO программу AnalogInput2, тогда при срабатывании датчика в мониторе последовательного порта программы Arduino IDE будет наблюдаться следующая картина.
По данным продавцов , датчик может обнаруживать препятствия на расстоянии от 2 до 40 см. Автору настоящего обзора удалось добиться срабатывания датчика на расстоянии 5,5-3,5 см от белого препятствия (лист бумаги). Черную шероховатую поверхность (бокс CD-дисков) датчик не видит совсем, черную глянцевую поверхность датчик регистрирует расстояния около 2 см.
Согласно документации, для настройки частоты модуляции ИК-импульсов на частоту 38 кГц служит подстроечный резистор промаркированный 103, а для регулирования чувствительности датчика следует использовать подстроечный резистор промаркированный 507. как хорошо видно на предыдущих фотографиях на плате доставшейся автору оба переменных резистора имеют маркировку 103. Возможно это брак в данном конкретном устройстве. Может быть этим и объясняется малая дальность действия датчика.
Датчик потребляет ток 4-5 мА в рабочем режиме и 5-6 мА при срабатывании. Если настроить датчик на минимально расстояние срабатывания, то можно немного уменьшить ток потребления (примерно на 1 мА). На данной фотографии, также видно, сто при срабатывании датчика загорелся светодиод «Sled».
По описанию этого датчика вывод «EN» служит для управления режимом работы при снятой перемычке. При низком логическом уровне на входе «EN» датчик включен, при высоком логическом уровне модуль дальномера находится в спящем режиме с пониженным энергопотреблением.
Таким образом, с одно стороны датчик можно использовать по назначению, однако по факту этот датчик не превосходит более простые ИК-датчики расстояния
Основные принципы работы
Пироэлектрик представляет собою материал, при изменении своей температуры генерирующий электрическое поле. В простом PIR-сенсоре два таких элемента, подключенных с разными полярностями.
Предположим, что гаджет смонтирован в помещении.
- Если комната пуста, все элементы получают одинаковую порцию теплового излучения, напряжение на них также постоянно (на левой части рисунка ниже).
- Когда в комнате появляется человек, он оказывается в зоне действия элемента 1. Тот генерирует положительный электроимпульс (на центральной части картинки).
- Перемещение человека приводит и к движению его «теплового пятна», улавливаемого элементом 2. Второй элемент создает отрицательный импульс (правая часть).
- Схема датчика регистрирует оба импульса, делая вывод о наличии человека в «поле зрения». А логика контроллера по этому сигналу выполняет заложенное пользователем действие — включает свет, активирует сигнализацию и так далее.
Как правило, для защиты соединений и компонентов от электронных и тепловых шумов, воздействия влаги и высокой температуры их помещают в герметичный корпус. Верхняя часть его содержит прямоугольное «окно» из ИК-прозрачного материала для свободного доступа теплового излучения.
Как работает PIR датчик движения?
Если вы не знали, все объекты с температурой выше абсолютного нуля (0 Кельвинов / -273,15°C), включая человеческие тела, испускают тепловую энергию в виде инфракрасного излучения. Чем горячее объект, тем большее излучение он излучает.
PIR датчик разработан специально для обнаружения таких уровней инфракрасного излучения. В основном он состоит из двух основных составляющих: пироэлектрического датчика и специальной линзы, называемой линзой Френеля, которая фокусирует инфракрасные сигналы на пироэлектрический датчик.
Рисунок 2 – PIR датчик, пироэлектрический датчик, два слота обнаружения
Пироэлектрический датчик на самом деле имеет две прямоугольные прорези, выполненные из материала, который пропускает инфракрасное излучение. За ними находятся два отдельных инфракрасных сенсорных электрода: один из которых отвечает за создание положительного выходного сигнала, а другой – отрицательного. Причина такого решения заключается в том, что мы ищем изменение инфракрасных уровней, а не сами окружающие инфракрасные уровни. Два электрода подключены так, чтобы они подавляли друг друга. Если одна половина видит больше или меньше инфракрасного излучения, чем другая, выходной сигнал будет высоким или низким.
Когда датчик находится в режиме ожидания (то есть вокруг датчика нет движения), оба слота обнаруживают одинаковое количество инфракрасного излучения, что приводит к нулевому выходному сигналу.
Но когда мимо проходит теплый объект, подобный человеку или животному; сначала он перекрывает одну половину PIR датчика, что вызывает появление положительного дифференциального изменения между двумя половинами. Когда теплый объект покидает чувствительную область, происходит обратное, в результате чего датчик генерирует отрицательное дифференциальное изменение. Соответствующий импульс сигналов приводит к тому, что датчик устанавливает на выходном выводе высокий логический уровень.
Рисунок 3 – Принцип действия PIR датчика
Датчик расстояния в проектах Arduino
Способность ультразвукового датчика определять расстояние до объекта основано на принципе сонара – посылая пучок ультразвука, и получая его отражение с задержкой, устройство определяет наличие объектов и расстояние до них. Ультразвуковые сигналы, генерируемые приемником, отражаясь от препятствия, возвращаются к нему через определенный промежуток времени. Именно этот временной интервал становится характеристикой помогающей определить расстояние до объекта.
Описание датчика HC SR04
Датчик расстояния Ардуино является прибором бесконтактного типа, и обеспечивает высокоточное измерение и стабильность. Диапазон дальности его измерения составляет от 2 до 400 см. На его работу не оказывает существенного воздействия электромагнитные излучения и солнечная энергия. В комплект модуля с HC SR04 arduino также входят ресивер и трансмиттер.
Ультразвуковой дальномер HC SR04 имеет такие технические параметры:
- Питающее напряжение 5В;
- Рабочий параметр силы т ока – 15 мА;
- Сила тока в пассивном состоянии -6 с.
Датчик оснащен четырьмя выводами (стандарт 2, 54 мм):
- Контакт питания положительного типа – +5В;
- Trig (Т) – выход сигнала входа;
- Echo (R) – вывод сигнала выхода;
- GND – вывод «Земля».
Схема взаимодействия с Arduino
Для получения данных, необходимо выполнить такую последовательность действий:
- Подать на выход Trig импульс длительностью 10 микросек;
- В ультразвуковом дальномере hc sr04 подключенном к arduino произойдет преобразование сигнала в 8 импульсов с частотой 40 кГц, которые через излучатель будут посланы вперед;
- Когда импульсы дойдут до препятствия, они отразятся от него и будут приняты приемником R, что обеспечит наличие входного сигнала на выходе Echo;
- На стороне контроллера полученный сигнал при помощи формул следует перевести в расстояние.
При делении ширины импульса на 58.2, получим данные в сантиметрах, при делении на 148 – в дюймах.
Подключение HC SR04 к Arduino
Выполнить подключение ультразвукового датчика расстояния к плате Arduino достаточно просто. Схема подключения показана на рисунке.
Контакт земли подключаем к выводу GND на плате Arduino, выход питания соединяем с 5V. Выходы Trig и Echo подсоединяем к arduino на цифровые пины. Вариант подключения с помощью макетной платы:
Библиотека для работы с HC SR04
Для облегчения работы с датчиком расстояния HC SR04 на arduino можно использовать библиотеку NewPing. Она не имеет проблем с пинговыми доступами и добавляет некоторые новые функции.
К особенностям библиотеки можно отнести:
- Возможность работы с различными ультразвуковыми датчиками;
- Может работать с датчиком расстояния всего через один пин;
- Отсутствие отставания на 1 секунду при отсутствии пинга эха;
- Для простой коррекции ошибок есть встроенный цифровой фильтр;
- Максимально точный расчет расстояния.
Скачать бибилотеку NewPing можно здесь
Точность измерения расстояния датчиком HC SR04
Точность датчика зависит от нескольких факторов:
- температуры и влажности воздуха;
- расстояния до объекта;
- расположения относительно датчика (согласно диаграммы излучения);
- качества исполнения элементов модуля датчика.
В основу принципа действия любого ультразвукового датчика заложено явление отражения акустических волн, распространяющихся в воздухе. Но как известно из курса физики, скорость распространения звука в воздухе зависит от свойств этого самого воздуха (в первую очередь от температуры). Датчик же, испуская волны и замеряя время до их возврата, не догадывается, в какой именно среде они будут распространяться и берет для расчетов некоторую среднюю величину. В реальных условиях из-за фактора температуры воздуха HC-SR04 может ошибаться от 1 до 3-5 см.
Фактор расстояния до объекта важен, т.к. растет вероятность отражения от соседних предметов, к тому же и сам сигнал затухает с расстоянием.
Также для повышения точности надо правильно направить датчик: сделать так, чтобы предмет был в рамках конуса диаграммы направленности. Проще говоря, “глазки” HC-SR04 должны смотреть прямо на предмет.
Для уменьшения ошибок и погрешности измерений обычно выполняются следующие действия:
- усредняются значения (несколько раз замеряем, убираем всплески, потом находим среднее);
- с помощью датчиков (например, DHT11 или DHT22) определяется температура и вносятся поправочные коэффициенты;
- датчик устанавливается на серводвигатель, с помощью которого мы “поворачиваем голову”, перемещая диаграмму направленности влево или вправо.
Использование PIR датчика в качестве автономного устройства
Одна из причин, по которой PIR датчик HC-SR501 является чрезвычайно популярным, заключается в том, что он является очень универсальным датчиком, который самодостаточен. А подключив его к каким-либо микроконтроллерам, таким как Arduino, вы сможете еще больше расширить его универсальность. Для нашего первого эксперимента мы будем использовать HC-SR501 отдельно, чтобы показать, насколько он полезен сам по себе.
Схема соединений для этого эксперимента очень проста. Батареи подключены к выводам датчика VCC и GND, а маленький красный светодиод подключен к выходному контакту через ограничивающий ток резистор 220 Ом. И всё!
Теперь, когда PIR обнаруживает движение, на выходном контакте появляется высокий логический уровень, и светодиод загорается!
Рисунок 9 – Тестовая схема подключения PIR датчика без использования Arduino. Она показывает, как можно использовать PIR датчик в автономных приложениях.
Помните, что при включении питания необходимо подождать 30-60 секунд, пока PIR датчик не адаптируется к инфракрасной энергии в помещении. В течение этого времени светодиод может немного мигать. Подождите, пока светодиод не погаснет, а затем подвигайтесь перед ним, махая рукой, чтобы увидеть, что светодиод загорается.