Как подключить датчик движения к ардуино?

Содержание

Подключаем датчик движения к Ардуино

Как подключить датчик движения к ардуино?

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

Особенности конструкции инфракрасного PIR датчика

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

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

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

Конструкция

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

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

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

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

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

Особенности фокусирующей линзы

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

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

Большей популярностью пользуются ПИР-датчики со сферическими линзами, например, модуль HC-SR501. Они способны охватить наибольшее пространство, обеспечить максимальный сектор обзора. Однако, модели с плоскими линзами также пользуются спросом.

Где используется

Инфракрасные ПИР-датчики активно используются в разных сферах деятельности:

  • технологические линии или установки;
  • охранные системы;
  • бытовые комплексы, системы умного дома и тому подобное.

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

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

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

Что такое Ардуино

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

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

Где используются

Микропроцессоры Ардуино уже успели стать незаменимыми во множестве систем и комплексов:

  • управление различными датчиками;
  • мультитестеры;
  • квадрокоптеры;
  • светофоры;
  • системы умного дома;
  • робототехнические системы;
  • вентиляционные комплексы;
  • охранные системы;
  • метеорологические системы и так далее.

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

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

  • игрушки;
  • оснащение предметов или аттракционов в квест-румах;
  • интерактивные арт-инсталляции и так далее.

Единственным ограничением является необходимость составления специальных программ для микропроцессора. Они закачиваются в него с обычного компьютера через интерфейс USB, для чего надо предварительно написать код. Это доступно только программистам, владеющим языком С++. Однако, в сети немало готовых программ для Ардуино, которые можно использовать для решения разных задач.

Пример программы

Простейший скетч для датчика движения Ардуино выглядит следующим образом:

Текст скетча можно скачать здесь: здесь

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

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

Подключение датчика движения к Ардуино не представляет особой сложности. На датчик надо подать питание (обычно 5 В, но могут быть и другие варианты), а также присоединить выход сенсора к цифровому входу Ардуино. Схема подключения проста, ее можно наглядно рассмотреть на рисунке:

Контактная группа датчика состоит из трех электродов. Два из них подают питание с Ардуино на датчик, а третий передает сигнал с его выхода на управляющее устройство. Земля (на рисунке это черный провод) подключается к контакту GND группы «power» микрокомпьютера. Рядом с ним находится контакт питания +5 V, к которому надо подключить соответствующий контакт датчика (красный провод на рисунке). Выход, или сигнальный (желтый) провод присоединяют к контакту 2 группы «digital» (так показано на рисунке, но фактически можно подключиться к любому цифровому контакту на плате Ардуино).

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

Инфракрасный датчик расстояния Ардуино

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

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

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

Достоинствами ИК датчиков движения Ардуино принято считать:

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

Существуют и недостатки:

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

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

по теме



Источник: https://osensorax.ru/posiciya/datchik-dvizheniya-arduino

Arduino для начинающих. Урок 8. Подключение датчика движения (PIR). Отправка E-mail

Как подключить датчик движения к ардуино?

Продолжаем серию уроков “Arduino для начинающих”.  Сегодня мы разберем проект подключение PIR-датчика (движения) к Arduino и организуем автоматическую отправку e-mail при срабатывании датчика. Arduino является сердцем этого проекта — считывает показания ИК-датчика, и при обнаружении движения отдает компьютеру через порт USB команду отправить письмо. Обработку сигнала, поступающего на компьютер реализуем с помощью программы Python.

Список деталей для сборки модели

Для сборки проекта, описанного в этом уроке, понадобятся следующие детали:

  • Arduino UNO или аналог (подробнее, о том как выбрать Arduino здесь);
  • PIR-датчик (подойдет такой за $ 2);
  • бредбоард (можно купить за $2,4);
  • провода папа-папа (можно купить такую связку с большим запасом).

Arduino UNO

PIR-датчик

Бредбоард

Провода папа-папа

Также потребуется компьютер с подключением к Интернету, через него будем отправлять электронную почту! Роль компьютера в этом уроке может выполнять Raspberry Pi.

Схема подключения PIR-датчика к Arduino

К Arduino в этом проекте требуется подключить только PIR-датчик, поэтому провода от датчика можно подключить непосредственно к Arduino. Но т.к. в таком случае провода держаться немного не плотно удобнее использовать схему c бредбоард:

Схема подключения PIR-датчика к бредбоард

Arduino скетч

Arduino будет послать сообщение по USB Serial связи при обнаружении движения. Но если посылать e-mail при каждом срабатывании датчика, то можно получить огромное количество писем. Поэтому если прошло еще слишком мало времени от прошлого сигнала — будем посылать другое сообщение.
int pirPin = 7;int minSecsBetweenEmails = 60; // 1 minlong lastSend = -minSecsBetweenEmails * 1000;void setup(){pinMode(pirPin, INPUT);Serial.begin(9600);}void loop(){long now = millis();if (digitalRead(pirPin) == HIGH){if (now > (lastSend + minSecsBetweenEmails * 1000)){Serial.

println(«MOVEMENT»); lastSend = now;}else{Serial.println(«Too soon»); }}delay(500);}
Переменная «minSecsBetweenEmails» может быть изменена на другое разумное значение. В примере она установлена на 60 секунд, и письма не будут отправлены чаще одной минуты. Чтобы отслеживать, когда последний раз была отдана команда слать e-mail используется переменная «lastSend». Ее инициализируем отрицательным числом, равным числу миллисекунд, указанных в переменной «minSecsBetweenEmails». Это гарантирует нам обработку срабатывания PIR-датчика сразу как только скетч Arduino запущен.

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

Перед тем как писать программу на Python для обработки сигнала, поступающего с Arduino на компьютер или Raspberry Pi по USB, можно проверить работу программы на Arduino, просто открыв Serial Monitor на Arduino IDE.

Serial Monitor Arduino IDE

Установка Python и PySerial

Если в проекте используется компьютер с операционной системой Linux, например, Raspberry Pi,  Python уже установлен. Если используется компьтер с операционной системой Windows, то Python требуется установить. В любом случае, потребуется установить библиотеку PySerial чтобы обеспечить связь с Arduino.

Установка Python на Windows

Чтобы установить Python на Windows, скачайте установщик с  https://www.python.org/downloads/. Были сообщения о проблемах с PySerial на Windows при использовании Python 3, поэтому используем  Python 2. После установки Python, в меню Пуск появится соответствующая группа. Но для установки PySerial нужно будет использовать Python из командной строки, поэтому добавим к переменной PATH среды Windows соответствующий каталог.

Чтобы сделать это, нужно зайти в Панель управления Windows, найти System Properties (Свойства системы). Затем нажать на кнопку с надписью Environment Variabes («Переменные среды») и в появившемся окне выбрать «Path» в нижней части System variables (Системные переменные). Нажать кнопку Edit («Изменить»), а затем в конце «Значение переменной», не удаляя имеющийся текст, добавить «; C: \ Python27». Не забывать «;» после каждой указанной папки.

Читайте также  Подключение сабвуфера к магнитоле без усилителя

Чтобы проверить, что переменную PATH изменили корректно, в командной строке введем команду «“python». Должна появляться подобная картина:

Установка PySerial

Независимо от используемой операционной системы, скачиваем .tar.gz установочный пакет для PySerial 2.6 с https://pypi.python.org/pypi/pyserial  Получаем файл с именем pyserial-2.6.tar.gz При использовании Windows нужно распаковать файл в папку. К сожалению, это не обычный файл ZIP, так что, возможно, потребуется скачать, например, 7-zip (http://www.7-zip.org/).

При использовании компьютера с операционной системой Linux, например, при использовании в этом проекте Raspberry Pi, нужно открыть терминальную сессию, выполнить команду «CD» с указанием папки куда скачана pyserial-2.6.tar.gz, а затем выполнить следующую команду, чтобы распаковать установщик:
$ tar -xzf pyserial-2.6.tar.

gzДалее независимо от используемой операционной системы в командной строке выполняем команду “CD” c указанием папки pyserial-2.6 и выполняем команду:

sudo python setup.py install

Код на Python

Теперь создаем программу на Python. Для этого копируем данный код в файл с именем «movement.py». На Linux можно использовать «нано» редактор, на Windows, вероятно, самый простой способ сделать файл с помощью редактора Python ‘IDLE » (доступен из группы программ Python в меню Пуск).
import timeimport serialimport smtplibTO = '[email protected]'GMAIL_USER = '[email protected]

here'GMAIL_PASS = 'putyourpasswordhere'SUBJECT = 'Intrusion!!'TEXT = 'Your PIR sensor detected movement'ser = serial.Serial('COM4', 9600)def send_email():print(«Sending Email»)smtpserver = smtplib.SMTP(«smtp.gmail.com»,587)smtpserver.ehlo() smtpserver.starttls()smtpserver.ehlo smtpserver.

login(GMAIL_USER, GMAIL_PASS)header = 'To:' + TO + '' + 'From: ' + GMAIL_USERheader = header + '' + 'Subject:' + SUBJECT + ''print headermsg = header + '' + TEXT + ' \'smtpserver.sendmail(GMAIL_USER, TO, msg)smtpserver.close()while True:message = ser.readline()print(message)if message[0] == 'M' :send_email()time.sleep(0.5)
Перед тем как запустить программу Python вносим некоторые изменения (все они в верхней части программы).

Программа предполагает, что электронные письма создаются из аккаунта Gmail. Если его нет регистрируем (даже если это только для этого проекта). Изменяем значение переменной «TO» на адрес электронной почты, куда будут отправляться уведомления. Изменяем значение «GMAIL_USER» на адрес электронной почты Gmail и соответственно пароль в следующей строке (GMAIL_PASS). Также можно изменить тему и текст сообщения для отправки («SUBJECT» и «TEXT»). Необходимо установить последовательный порт, к которому подключена Arduino в строке ser = serial.

Serial('COM4', 9600) Для Windows, это будет что-то навроде «COM4» для Linux — что-то навроде «/dev/tty.usbmodem621».  К какому порту компьютера подключена плата смотрим в Arduino IDE в правом нижнем углу. После этих изменений, запускаем программу из командной строки / терминала: python movement.py Готово! Когда PIR-датчик срабатывает вскоре приходит сообщение на указанный e-mail.

Что еще можно сделать с использованием PIR-датчика

Теперь, освоив средства отправки электронной почты с Arduino, можно приступить к расширению возможностей проекта. Можно добавить другие датчики, и, например, отправлять себе по электронной почте почасовые отчеты о температуре. Безусловно, PIR-датчик быть использован непосредственно с Arduino без соединения с компьютером. В этом случае при срабатывании датчика можно включать предупреждающий звуковой сигнал, мигать светодиодом, или  включать освещение в помещении (через высоковольтное реле).

Учебный курс “Arduino для начинающих”: главная страница.

Посты по урокам:

Все посты сайта “Занимательная робототехника” по тегу Arduino.

Наш  канал, где публикуются видео-уроки.

Не знаете, где купить Arduino? Все используемые в уроке комплектующие входят в большинство готовых комплектов Arduino, их также можно приобрести по отдельности. Подробная инструкция по выбору здесь. Низкие цены, спецпредложения и бесплатная доставка на сайтах AliExpress и DealExtreme. Если нет времени ждать посылку из Китая — рекомендуем интернет-магазины Амперка и DESSY. Низкие цены и быструю доставку предлагает интернет-магазин ROBstore.

Смотри также список магазинов.

Автор Александр Гагарин. В статье использованы материалы learn.adafruit.com.

arduino, headline, для начинающих, обучение, одноплатный компьютер, подключение, урок-инструкция, электроника

Источник: http://edurobots.ru/2014/10/arduino-dlya-nachinayushhix-urok-8-podklyuchenie-datchika-dvizheniya-pir-otpravka-e-mail/

Подключение датчика движения к Ардуино

Как подключить датчик движения к ардуино?

Датчик движения Arduino ► рассмотрим, как подключить PIR sensor к Ардуино. Продемонстрируем скетч для автоматического включения светильника от сенсора.

Рассмотрим, как подключить PIR sensor к Ардуино (пироэлектрический инфракрасный датчик движения) и рассмотрим скетч для автоматического светильника, который будет включаться при обнаружении движения в комнате. Также рассмотрим функцию millis Arduino в языке C++, которую часто требуется использовать в программах (скетчах) для создания многозадачности микроконтроллера Ардуино Уно.

PIR sensor: устройство, характеристики

Сегодня уже никто не удивляется при автоматическом включении освещения в подъездах многоквартирных домов, которые срабатывают при прохождении человека. В большинстве приборов установлены пассивные датчики движения (PIR). Рассмотрим в этой статье устройство датчика движения, схему его подключения к Arduino UNO и соберем на его основе автоматический включатель освещения.

Линза Френеля концентрирует инфракрасное излучение

Модуль с ПИР датчиком состоит из пироэлектрического элемента под пластиковой линзой Френеля — цилиндрическая деталь с прямоугольным кристаллом в центре, который улавливает уровень инфракрасного излучения и пропускает его через себя. При подключении IR к Arduino мы уже выяснили, что все предметы имеют инфракрасное излучение и чем выше температура, тем интенсивнее излучение.

Устройство и распиновка пироэлектрического датчика движения

PIR датчики движения практически одинаковы по устройству. Диапазон чувствительности PIR сенсоров для Ардуино до 6 метров, угол обзора 110° x 70°. Питание — 5 Вольт, а выходной цифровой сигнал имеет значение 0, когда движения нет и значение 1 при наличии движения. Чувствительные элементы устанавливается в герметический корпус, который защищает от влажности и перепадов температур.

Как подключить датчик движения к Ардуино

Для занятия нам понадобятся следующие детали:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • PIR датчик движения;
  • беспаечная макетная плата;
  • 1 светодиод и резистор 220 Ом;
  • провода «папа-папа», «папа-мама».

Схема подключения PIR датчика к Ардуино Уно

Распиновка датчиков движения Ардуино у разных производителей может отличаться, но рядом с контактами есть надписи (см. фото выше). Поэтому, перед подключением внимательно изучите модуль. Один выход идет к GND, второй к питанию 5 Вольт (VCC), а третий выход (OUT) выдает цифровой сигнал с PIR сенсора. Соберите схему, как на фото выше, подключите светодиод к пину 12 на Ардуино и загрузите следующий скетч.

Скетч для датчика движения Ардуино

#define PIR 2 #define LED 12 void setup() { pinMode(PIR, INPUT); pinMode(LED,OUTPUT); } void loop() { int pirVal = digitalRead(PIR); if (pirVal == HIGH) { digitalWrite(LED, HIGH); delay(2000); } else { digitalWrite(LED,LOW); delay(2000); } }

Пояснения к коду:

  1. с помощью директивы #define для портов 2 и 12 мы назначили соответствующие имена PIR и LED. Это сделано лишь для нашего удобства;
  2. в условном операторе if использовано двойное равенство: if (pirVal == HIGH). Согласно языку программирования Ардуино, двойное равенство является оператором сравнения.

Скетч для светильника с датчиком движения

#define LED 3 // назначаем порт для светодиода #define PIR 2 // назначаем порт для PIR sensor unsigned long counttime; // выделение памяти для счетчика void setup() { pinMode(LED, OUTPUT); pinMode(PIR, INPUT); } void loop() { // если есть движение включаем светодиод if (digitalRead(PIR) == HIGH) { digitalWrite(LED, HIGH); } // включаем счетчик на 1 минуту counttime = millis(); // если нет движения и прошла 1 минута if (digitalRead(PIR) == LOW && millis() — counttime > 60000) { // если нет движения в течении 1 минуты выключаем светодиод digitalWrite(LED, LOW); } }

Датчик движения ардуино

Как подключить датчик движения к ардуино?

Датчик движения ардуино позволяет отследить перемещение в закрытой зоне объектов, излучающих тепло (люди, животные). Такие системы часто применяют в бытовых условиях, например, для включения освещения в подъезде. В этой статье мы рассмотрим подключение в проектах ардуино PIR-сенсоров: пассивных инфракрасных датчиков или пироэлектрических сенсоров, которые реагируют на движение. Малые габариты, низкая стоимость, простота эксплуатации и отсутствие сложностей в подключении позволяет использовать такие датчики в системах сигнализации разного типа.

Описание датчика движения ардуино

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

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

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

PIR-sensor конструктивно разделен на две половины. Это обусловлено тем, что для устройства сигнализации важно именно наличие движения в зоне чувствительности, а не сам уровень излучения. Поэтому части установлены таким способом, что при улавливании одной большего уровня излучения, на выход будет подаваться сигнал со значением high или low.

Основными техническими характеристиками датчика движения Ардуино являются:

  • Зона обнаружения движущихся объектов составляет от 0 до 7 метров;
  • Диапазон угла слежения – 110°;
  • Напряжение питания – 4.5-6 В;
  • Рабочий ток – до 0.05 мА;
  • Температурный режим – от -20° до +50°С;
  • Регулируемое время задержки от 0.3 до 18 с.

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

Принцип работы датчика движения на Arduino следующий:

  • Когда устройство установлено в пустой комнате, доза излучения, получаемая каждым элементом постоянна, как и напряжение;
  • При появлении в комнате человека, он первым делом попадает в зону обозрения первого элемента, на котором появляется положительный электрический импульс;
  • Когда человек перемещается по комнате, вместе с ним перемещается и тепловое излучение, которое попадает уже на второй сенсор. Этот PIR-элемент генерирует уже отрицательный импульс;
  • Разнонаправленные импульсы регистрируются электронной схемой датчика, которая делает вывод, что в поле зрения Pir-sensor Arduino находится человек.

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

Схема подключения датчика движения к Ардуино

Подключение Pir-датчика к Ардуино выполнить не сложно. Чаще всего модули с сенсорами движения оснащены тремя коннекторами на задней части. Распиновка каждого устройства зависит от производителя, но чаще всего возле выходов есть соответствующие надписи. Поэтому, прежде чем выполнить подключение датчика к Arduino необходимо ознакомиться с обозначениями. Один выход идет к земле (GND), второй – обеспечивает выдачу необходимого сигнала с сенсоров (+5В), а третий является цифровым выходом, с которого снимаются данные.

Подключение Pir-сенсора:

  • «Земля» – на любой из коннекторов GND Arduino;
  • Цифровой выход – на любой цифровой вход или выход Arduino;
  • Питание – на +5В на Arduino.

Схема подключения инфракрасного датчика к Ардуино представлена на рисунке.

Возможные варианты проектов с применением датчика

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

  • Включение света в подъезде или перед входной дверью автоматически, при появлении  в нем человека;
  • Включение освещения в ванной комнате, туалете, коридоре;
  • Срабатывание сигнализации при появлении человека, как в помещении, так и на придомовой территории;
  • Автоматическое подключение камер слежения, которыми часто оснащаются охранные системы.

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

Источник: https://ArduinoMaster.ru/datchiki-arduino/arduino-datchik-dvizheniya/

Как работает PIR датчик HC-SR501, и его взаимодействие с Arduino

Как подключить датчик движения к ардуино?

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

Рисунок 1 – Как работает PIR датчик HC-SR501, и его взаимодействие с Arduino

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

Как работает PIR датчик движения?

Если вы не знали, все объекты с температурой выше абсолютного нуля (0 Кельвинов / -273,15°C), включая человеческие тела, испускают тепловую энергию в виде инфракрасного излучения. Чем горячее объект, тем большее излучение он излучает.

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

Рисунок 2 – PIR датчик, пироэлектрический датчик, два слота обнаружения

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

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

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

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

Но когда мимо проходит теплый объект, подобный человеку или животному; сначала он перекрывает одну половину PIR датчика, что вызывает появление положительного дифференциального изменения между двумя половинами. Когда теплый объект покидает чувствительную область, происходит обратное, в результате чего датчик генерирует отрицательное дифференциальное изменение. Соответствующий импульс сигналов приводит к тому, что датчик устанавливает на выходном выводе высокий логический уровень.

Рисунок 3 – Принцип действия PIR датчика

PIR детектор движения HC-SR501

Для большинства наших проектов на Arduino, которые должны определять, когда человек покинул или вошел в зону, или приблизился, PIR датчики HC-SR501 являются отличным выбором. Они имеют низкое энергопотребление и низкую стоимость, довольно прочные, имеют широкий диапазон линз, с ними легко взаимодействовать, и они безумно популярны среди любителей.

PIR датчик HC-SR501 имеет три вывода: питание VCC, выход и земля (показано на рисунке ниже). Он имеет встроенный стабилизатор напряжения, поэтому он может питаться от любого постоянного напряжения от 4,5 до 12 вольт, обычно используется 5В. Кроме этого, у него есть несколько настроек. Давайте проверим их.

Читайте также  Как подключить парктроник к заднему ходу?

Рисунок 4 – Распиновка PIR датчика. Расположение компонентов на плате.

На плате есть два потенциометра для настройки пары параметров:

  • Чувствительность – устанавливает максимальное расстояние, на котором может быть обнаружено движение. Оно варьируется от 3 до 7 метров. На реальное расстояние, которое вы получите, может влиять планировка вашего помещения.
  • Время – устанавливает время, в течение которого выходной сигнал останется на высоком логическом уровне после обнаружения. Минимум – 3 секунды, максимум – 300 секунд или 5 минут.

Наконец, на плате есть перемычка (на некоторых моделях перемычка не впаяна). У нее есть два варианта настройки:

  • H – это удержание / повтор / повторный запуск. В этом положении HC-SR501 будет продолжать выдавать высокий логический уровень, пока он продолжает обнаруживать движение. Рисунок 5 – Работа PIR датчика HC-SR501 в режиме повторного запуска
  • L – это прерывающийся или неповторяющийся / без повторного запуска. В этом положении выходной сигнал останется на высоком логическом уровне в течение времени, установленного регулировкой потенциометра TIME. Рисунок 6 – Работа PIR датчика HC-SR501 в режиме без повторного запуска

Повышение универсальности PIR датчика HC-SR501

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

Рисунок 7 – PIR датчик. Площадки для фоторезистора и термистора

  • RT – предназначен для термистора или термочувствительного резистора. Его добавление позволяет использовать HC-SR501 при экстремальных температурах, а также в некоторой степени повышает точность детектора.
  • RL – это место для подключения светочувствительного резистора (LDR) или фоторезистора. При добавлении этого компонента HC-SR501 будет работать только в темноте, это обычное применение для систем освещения, чувствительных к движению.

Дополнительные компоненты могут быть припаяны непосредственно к плате или выведены в удаленные места с помощью проводов и разъемов.

Распиновка PIR датчика HC-SR501

HC-SR501 имеет 3-контактный разъем, который соединяет его с внешним миром. На него выведены следующие контакты:

Рисунок 8 – Распиновка PIR датчика HC-SR501

VCC – вывод питания для PIR датчика HC-SR501, к которому мы подключаем вывод 5V на Arduino.

Выходной контакт – логический выход с TTL уровнем 3,3 В. Низкий логический уровень означает, что движение не обнаружено, высокий логический уровень означает, что было обнаружено какое-то движение.

GND должен быть подключен к земле Arduino.

Использование PIR датчика в качестве автономного устройства

Одна из причин, по которой PIR датчик HC-SR501 является чрезвычайно популярным, заключается в том, что он является очень универсальным датчиком, который самодостаточен. А подключив его к каким-либо микроконтроллерам, таким как Arduino, вы сможете еще больше расширить его универсальность. Для нашего первого эксперимента мы будем использовать HC-SR501 отдельно, чтобы показать, насколько он полезен сам по себе.

Схема соединений для этого эксперимента очень проста. Батареи подключены к выводам датчика VCC и GND, а маленький красный светодиод подключен к выходному контакту через ограничивающий ток резистор 220 Ом. И всё!

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

Рисунок 9 – Тестовая схема подключения PIR датчика без использования Arduino. Она показывает, как можно использовать PIR датчик в автономных приложениях.

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

Подключение PIR датчика к Arduino UNO

Теперь, когда у нас есть полное понимание того, как работает PIR датчик, мы можем подключить его к нашей плате Arduino!

Подключить PIR датчики к микроконтроллеру очень просто. PIR действует как цифровой выход, поэтому всё, что вам нужно делать, это отслеживать, когда на его выходном выводе установится высокий логический уровень (обнаружено движение) или низкий логический уровень (не обнаружено). Подайте на PIR датчик напряжение 5 В и подключите землю. Затем подключите выход к цифровому выводу 2.

Вам нужно установить перемычку на HC-SR501 в положение H (повторный запуск), чтобы он работал правильно. Вам также нужно будет установить время на минимум (3 секунды), повернув потенциометр «время» против часовой стрелки до упора. Установите чувствительность в любое положение, которое вам нужно, либо, если не уверены, установите ее в среднее положение.

Теперь вы готовы загрузить код и начать работу PIR датчиком.

Рисунок 10 – Подключение PIR датчика к Arduino UNO

Код Arduino

Код очень прост и в основном отслеживает, является ли входной сигнал на выводе 2 высоким или низким.

int ledPin = 13; // выбор вывода для светодиода int inputPin = 8; // выбор входного вывода (для PIR датчика) int pirState = LOW; // начинаем работу, предполагая, что движение не обнаружено int val = 0; // переменная для чтения состояния вывода void setup() { pinMode(ledPin, OUTPUT); // настраиваем вывод светодиода, как выход pinMode(inputPin, INPUT); // настраиваем вывод датчика, как вход Serial.begin(9600); } void loop() { val = digitalRead(inputPin); // прочитать входное значение if (val == HIGH) // проверить, есть ли на входе высокий логический уровень { digitalWrite(ledPin, HIGH); // включить светодиод if (pirState == LOW) { Serial.println(«Motion detected!»); // напечатать об изменении выхода pirState = HIGH; } } else { digitalWrite(ledPin, LOW); // выключить светодиод if (pirState == HIGH) { Serial.println(«Motion ended!»); // напечатать об изменении выхода pirState = LOW; } } }

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

Рисунок 11 – Вывод приложения PIR датчика в мониторе последовательного порта

Что нужно учесть перед проектированием приложений на базе PIR датчиков

Как и для большинства PIR датчиков, HC-SR501 требуется некоторое время для адаптации к инфракрасной энергии в помещении. Это занимает от 30 до 60 секунд при первом включении датчика.

Кроме того, датчик имеет период «сброса» около 5 или 6 секунд после считывания. В течение этого времени он не обнаружит никакого движения.

При проектировании системы на базе HC-SR501 вам необходимо будет учитывать эти длительности задержек.

Оригинал статьи:

  • How HC-SR501 PIR Sensor Works & Interface It With Arduino

Теги

ArduinoMCUPIRPIR датчикДатчикДатчик движенияИнфракрасное излучениеЛинза ФренеляМикроконтроллерПироэлектрический датчик

Источник: https://radioprog.ru/post/734

Описание датчика движения

Создаваемые на базе Ардуино сенсоры перемещения устроены довольно просто. Они работают на принципе регистрации инфракрасных излучений. Помимо контроллера, основной компонент устройства — высокочувствительный пассивный пироэлектрический (PIR) элемент, регистрирующий присутствие определенного уровня инфракрасного спектра. Чем теплее появившийся в радиусе действия сенсора объект, тем сильнее излучение.

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

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

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

Базовые технические характеристики

Большинство PIR-датчиков соответствуют следующим параметрам:

  • зона уверенной детекции движения — до 7 м;
  • угол слежения — до 110 градусов;
  • рабочее напряжение — от 4.5 до 6 В;
  • диапазон температур — от -20 до +50 градусов;
  • время задержки 0.3–18 сек.

Модуль ИК-датчика несет на себе также электрическую обвязку с необходимыми компонентами: конденсаторами, предохранителями и резисторами.

Основные принципы работы

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

Предположим, что гаджет смонтирован в помещении.

  1. Если комната пуста, все элементы получают одинаковую порцию теплового излучения, напряжение на них также постоянно (на левой части рисунка ниже).
  2. Когда в комнате появляется человек, он оказывается в зоне действия элемента 1. Тот генерирует положительный электроимпульс (на центральной части картинки).
  3. Перемещение человека приводит и к движению его «теплового пятна», улавливаемого элементом 2. Второй элемент создает отрицательный импульс (правая часть).
  4. Схема датчика регистрирует оба импульса, делая вывод о наличии человека в «поле зрения». А логика контроллера по этому сигналу выполняет заложенное пользователем действие — включает свет, активирует сигнализацию и так далее.

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

Общая схема подключения

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

Обычно выходов три: GND — заземление, второй — +5 В, он выдает сигнал с ИК-сенсоров. Третий — цифровой, для снятия данных

Принцип соединения с контроллером следующий:

  • GND — на любой доступный пин «земли» платы Arduino;
  • «цифра» — на любой свободный цифровой вход/выход;
  • коннектор питания следует подключить к выходу +5 В.

Пример работы

Рассмотрим ситуацию использования датчика на примере микроконтроллера Ардуино Уно и сенсора HC-SR501. Его характеристики:

  • рабочее напряжение постоянного тока — 4.5–20 В;
  • ток покоя —  ≈ 50 мкА;
  • выходное напряжение — 3.3 В;
  • диапазон температур — от −15 до +70 градусов Цельсия;
  • габариты — 32×24 мм;
  • угол детектирования — 110 градусов;
  • дистанция срабатывания — до 7 метров.

Важно: при температурах от +30 градусов эффективное расстояние детекции может снизиться.

В указанном сенсоре установлены два пироэлектрических датчика IRA-E700.

Сверху они прикрыты сегментированной полусферой. Каждый сегмент — фокусирующая тепло на определенный участок ПИР-датчика линза.

Внешний вид устройства:

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

Настройка

ИК-модуль HC-SR501 весьма прост в настройке и дешев. У него есть перемычка для конфигурирования режима и пара подстроечных резисторов. Общая чувствительность настраивается первым потенциометром: чем она выше, тем шире зона «видимости» гаджета».

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

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

Следующий управляющий элемент — перемычка. От нее зависит режим работы.

  • в позиции L время отсчитывается от первого срабатывания. То есть, к примеру, если человек зайдет в помещение, система среагирует и включит свет на указанное настройкой потенциометра время. Когда оно истечет, выходной сигнал возвращается к начальному показателю, и комплекс перейдет в режим ожидания следующей активации;
  • в позиции H обратный отсчет будет начинаться после каждого детектирования события движения, а любое перемещение станет обнулять таймер. В этом положении перемычка стоит по умолчанию.

Соединение датчика с контроллером

Подключение датчика движения к Ардуино следует выполнять по указанной схеме:

Пин OUT соединяется с пином 2 Уно, а VCC подсоединено к контакту +5 В. Принципиальная схема конструкции:

Программная часть

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

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

Модифицируем устройство добавлением реле, которое станет включать свет. Принципиальная схема подключения:

Макет:

Программа для реализации данного функционала:

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

Интересно: существует возможность соединения сенсора с реле напрямую, без контроллера. Но внедрение в схему Arduino делает ее более гибкой, функциональной и конфигурируемой.

Где можно применить

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

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

Недостатки

В силу отработанности аппаратной платформы, хорошо документированных схем, простоты разработки ПО и дешевизны PIR-датчики на Ардуино не обладают особыми недостатками в рамках возлагаемых на них задач. Возможности их применения ограничиваются естественными пределами ИК-технологии, периферийным оборудованием и заложенными в прошивку контроллера функциями.

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

Заключение

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

Находят они применение и в системах сигнализации и видеонаблюдения: по сигналу включается оповещение или запись события. Гибкость Arduino позволяет реализовать даже очень сложные проекты, например, включения сенсора в экосистему «умного дома». Хотя существуют и более продвинутые лазерные, ультразвуковые и тепловизионные варианты, ИК-детекторы в данной сфере остаются самым доступным и простым решением.

Читайте также  Точки подключения сигнализации Лада веста

Хорошая реклама

Источник: https://VashUmnyiDom.ru/bezopasnost/dostup/datchik-dvizheniya-arduino.html

Ардуино: инфракрасный датчик движения, ПИР

Как подключить датчик движения к ардуино?

Тема сегодняшнего урока — датчик движения на основе пироэлектрического эффекта (PIR, passive infrared motion sensor). Такие датчики часто используются в охранных системах и в быту для обнаружения движения в помещении. Например, на принципе детектирования движения основано автоматическое включение света в подъезде или в ванной. Пироэлектрические датчики достаточно простого устроены, недороги и неприхотливы в установке и обслуживании.

Кстати сказать, существуют и другие способы детектирования движения. Сегодня всё чаще используют системы компьютерного зрения для распознавания объектов и траектории их перемещения. В тех же охранных системах применяются лазерные детекторы, которые дают тревожный сигнал при пересечении луча. Также используются тепловизионные датчики, способные определить движение только живых существ.

Принцип действия пироэлектрических датчиков движения

Пироэлектрики — это диэлектрики, которые создают электрическое поле при изменении их температуры. На основе пироэлектриков делают датчики измерения температуры, например, LHI778 или IRA-E700. Каждый такой датчик содержит два чувствительных элемента размером 1×2 мм, подключенных с противоположной полярностью. И как мы увидим далее, наличие именно двух элементов поможет нам детектировать движение.

Вот так выглядит датчик IRA-E700 компании Murata.

На этом уроке мы будем работать с датчиком движения HC-SR501, в котором установлен один такой пироэлектрический датчик. Сверху пироэлектрик окружен полусферой, разбитой на несколько сегментов. Каждый сегмент этой сферы представляет собой линзу, которая фокусирует тепловое излучение на разные участки ПИР-датчика. Часто в качестве линзы используют линзу Френеля.

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

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

Человек движется, и его тепловое излучение через линзы попадает уже на второй PIR-элемент, который генерирует отрицательный импульс. Электронная схема датчика движения регистрирует эти разнонаправленные импульсы и делает выводы о том, что в поле зрения датчика попал человек. На выходе датчика генерируется положительный импульс (правый рисунок).

Настройка HC-SR501

На этом уроке мы будем использовать модуль HC-SR501. Этот модуль очень распространен и применяется во множестве DIY проектов в силу своей дешевизны.

У датчика имеется два переменных резистора и перемычка для настройки режима. Один из потенциометров регулирует чувствительность прибора. Чем она больше, тем дальше «видит» датчик. Также чувствительность влияет на размер детектируемого объекта. К примеру, можно исключить из срабатывания собаку или кошку.

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

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

В положении H датчик начинает отсчет времени T каждый раз после обнаружения движения. Другими словами, любое шевеление человека вызовет обнуление таймера отсчета Т. По-умолчанию, перемычка находится в состоянии H.

Подключение HC-SR501 к Ардуино Уно

Для соединения с микроконтроллером или напрямую с реле у HC-SR501 имеется три вывода. Подключаем их к Ардуино по следующей схеме:

HC-SR501 GND VCC OUT
Ардуино Уно GND +5V 2

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

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

Программа

Как уже было сказано, цифровой выход датчика HC-SR501 генерирует высокий уровень сигнала при срабатывании. Напишем простую программу, которая будет отправлять в последовательный порт «1» если датчик увидел движение, и «0» в противном случае.

const int movPin = 2 void setup() { Serial.begin(9600); pinMode(movPin, INPUT); } void loop(){ int val = digitalRead(movPin); Serial.println(val); delay(100); }

Загружаем программу на Ардуино и проверяем работу датчика. Можно покрутить настройки датчика и посмотреть как это отразится на его работе.

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

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

Будем использовать модуль реле с защитой на основе опторазвязки, о котором мы уже писали в одном и уроков (урок про реле).

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

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

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

Заключение

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

Вот несколько ситуаций и мест, где может пригодиться датчик движения:

  • автоматическое включение света в подъезде дома, в ванной комнате и туалете, перед входной дверью в помещение;
  • сигнализация в помещении и во дворе;
  • автоматическое открывание дверей;
  • автоматическое включение охранной видеокамеры.

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

Источник: https://robotclass.ru/tutorials/arduino-ir-motion-sensor/

Датчик движения для самоделок и Ардуино HC-SR501

Как подключить датчик движения к ардуино?

Датчики движения используются для управления освещением, охранных систем и автоматизации каких-либо процессов. Современная промышленность выпускает множество видов таких устройств, но самые дешевые и распространенные — это датчики движения инфракрасного типа. При этом их можно найти как в виде готового устройства, для непосредственного подключения к электрической сети, так и в виде модуля для самоделок — HC-SR501. Его можно использовать, как и в составе схемы под управлением Arduino, так и самостоятельно в паре c электромагнитным реле для управления нагрузкой с напряжением питания 220В.

Конструкция

Итак, HC-SR501 — это модуль с датчиком движения инфракрасного типа, так называемым PIR-сенсором. Поставляется без корпуса в виде печатной платы с линзой Френеля, непосредственно датчиком (его название 500BP) и необходимыми для его работы электронными компонентами. Линза Френеля нужна, чтобы сформировать область срабатывания и сфокусировать «изображение» на поверхности сенсора. Для обработки сигнала от PIR-сенсора используется микросхема BISS0001, цоколевку которой вы видите ниже.

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

Также ознакомьтесь с принципиальной схемой датчика движения HC-SR501.

Также рассмотрим сам модуль HC-SR501.

Технические характеристики:

Диапазон напряжения питания: 4.5-20 В;

Потребляемый ток в режиме ожидания: 50 мА;

Выходной сигнал OUT: HIGH – 3,3 В, LOW – 0 В;

Обнаружение движения в диапазоне расстояний от 3 до 7 м;

Длительность задержки (во включенном состоянии) после срабатывания от 5 до 300 сек;

Угол наблюдения до 120˚;

Время блокировки до следующего замера: 2.5сек.

Режимы работы:

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

— H — срабатывание при каждом событии, подходит для освещения. Если движения повторяются постоянно, то на выходе будет удерживаться сигнал H (свет будет гореть) до тех пор, пока не прекратятся движения, плюс установленное время задержи (от 5 секунд до 5 минут).

Рабочая температура от -20 до +80 ˚C.

Габариты 32x24x18 мм.

3 варианта схемы подключения

Первый вариант – это подключение к нагрузке постоянного тока. Для примера приведена светодиодная лента, вместо неё может быть что угодно — мощные светодиоды, какие-либо исполнительные устройства типа электроприводов и многое другое. Напомним, что для работы HC-SR501 нужен источник питания с выходным напряжением в диапазоне 4.5-20 Вольт постоянного тока. Можно использовать зарядное устройство для смартфонов с USB-выходом, или запитать прям от блока питания светодиодной ленты, как это показано на рисунке ниже.

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

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

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

Алгоритмы работы этой схемы полностью зависит от программы загруженной в микроконтроллер.

Инфракрасный датчик движения PIR и Arduino

Как подключить датчик движения к ардуино?

Инфракрасный датчик движения позволяет улавливать объект до 6 метров и области обнаружения 70-110 градусов. Основное применение — это включение нагрузки в твоём присутствии. Например включает освещение в помещении. Чаще всего используется в сфере безопасности для сигнализации и оповещения. Для «Умного дома» в самый раз. Датчик движения ардуино очень просто соединяется с контроллером.

Из этой статьи вы узнаете:

Работа инфракрасного датчика движения
Схема подключения датчика c Arduino и… скетч

Приветствую вас, читатели блога! Я изучаю очень много научной литературы, которая касается инженерных систем, автоматизации, мехатроники и робототехники.

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

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

  1. «Мозги» системы, пока рассматриваю raspberry
  2. Механическая часть, для меня это тёмный лес
  3. Силовая часть, Это различные приводы системы. То, что будет толкать, вариантов несколько:
    электрика, пневматика, гидравлика
  4. Дополнительные узлы, которые будут независимо управлять той силовой частью, получая сигналы от центрального «мозга»
  5. А, да, ещё и сервер, который бы кооперировал все действия нескольких «мозгов»

И я прекрасно понимаю, что на это все уйдёт несколько лет.

На одно лишь изучение программирования уйдёт не один год. Есть ли среди вас единомышленники?? Может как-то сделаем совместными усилиями?

Зачем мне это все нужно? Ответ прост, как ясный день — я увлечён этим делом, я кайфую от этой темы.

Я заканчиваю лирическое отступление и возвращаюсь к нашей теме статьи. В этом посте мы с вами обсудим все тонкости подключения PIR датчика с Arduino UNO.

Работа инфракрасного датчика движения

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

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

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

Рабочее питание данного датчика 5-9 В.

Шильдик имеет при себе три вывода:

GND — питание
OUT дискретный сигнал
VCC + 5 В питание

Схема подключения датчика c Arduino и… скетч

Схема подключения простая. Просто нужно подать питание и воткнуть один вход на любой пин Ардуино.

Смотрите сами:

Программа, в которой при приближении объекта, срабатывает светодиод 13.

#define pirPin 2 #define ledPin 13 void setup() { Serial.begin(9600); pinMode(pirPin, INPUT); pinMode(ledPin,OUTPUT); } void loop() { int pirVal = digitalRead(pirPin); //Если обнаружили движение if(pirVal == HIGH) { digitalWrite(LedPin, HIGH); Serial.print(«Motion detected»); delay(2000); } else { Serial.print(«No motion»); digitalWrite(LedPin,LOW); } }

  int pirVal = digitalRead(pirPin);  //Если обнаружили движение    digitalWrite(LedPin, HIGH);    Serial.print(«Motion detected»);    Serial.print(«No motion»);    digitalWrite(LedPin,LOW);

В более сложном варианте программы требуется калибровка датчика. Рекомендации с даташита.

//Время калибровки датчика (10-60 сек. по даташиту) int calibrationTime = 30; //Время, в которое был принят сигнал отсутствия движения(LOW) long unsigned int lowIn; //Пауза, после которой движение считается оконченным long unsigned int pause = 5000; //Флаг. false = значит движение уже обнаружено, true — уже известно, что движения нет boolean lockLow = true; //Флаг. Сигнализирует о необходимости запомнить время начала отсутствия движения boolean takeLowTime; int pirPin = 2; //вывод подключения PIR датчика int ledPin = 13; //вывод сигнального диода void setup() { Serial.begin(9600); pinMode(pirPin, INPUT); pinMode(ledPin, OUTPUT); digitalWrite(pirPin, LOW); //дадим датчику время на калибровку Serial.print(«Calibrating»); for(int i = 0; i < calibrationTime; i++) { Serial.print("."); delay(1000); } Serial.println(" done"); Serial.println("SENSOR ACTIVE"); delay(50); } void loop() { //Если обнаружено движение if(digitalRead(pirPin) == HIGH) { //Если еще не вывели информацию об обнаружении if(lockLow) { lockLow = false; Serial.println("Motion detected"); delay(50); } takeLowTime = true; } //Ели движения нет if(digitalRead(pirPin) == LOW) { //Если время окончания движения еще не записано if(takeLowTime) { lowIn = millis(); //Сохраним время окончания движения takeLowTime = false; //Изменим значения флага, чтобы больше не брать время, пока не будет нового движения } //Если время без движение превышает паузу => движение окончено if(!lockLow && millis() — lowIn > pause) { //Изменяем значение флага, чтобы эта часть кода исполнилась лишь раз, до нового движения lockLow = true; Serial.println(«Motion finished»); delay(50); } } }

//Время калибровки датчика (10-60 сек. по даташиту)int calibrationTime = 30;      //Время, в которое был принят сигнал отсутствия движения(LOW)//Пауза, после которой движение считается оконченнымlong unsigned int pause = 5000;//Флаг. false = значит движение уже обнаружено, true — уже известно, что движения нет//Флаг. Сигнализирует о необходимости запомнить время начала отсутствия движенияint pirPin = 2;    //вывод подключения PIR датчикаint ledPin = 13;   //вывод сигнального диода  digitalWrite(pirPin, LOW);  //дадим датчику время на калибровку  Serial.print(«Calibrating»);  for(int i = 0; i движение окончено    if(!lockLow && millis() — lowIn > pause)      //Изменяем значение флага, чтобы эта часть кода исполнилась лишь раз, до нового движения      Serial.println(«Motion finished»);

Этот скетч будет гарантировать более стабильную и устойчивую работу датчика с Arduino.

В следующей статье я напишу о подключении датчика расстояния HC-SR04. Оставайтесь на связи. Искренне ваш, Гридин Семён.

С уважением, Гридин Семён

Этой статьей стоит поделиться:

Источник: https://kip-world.ru/infrakrasnyj-datchik-dvizheniya-pir-i-arduino.html