Датчик движения на ардуино. Датчики движения HC-SR501 и PIR для Arduino: полное руководство по подключению и использованию

Как работают инфракрасные датчики движения HC-SR501 и PIR. Какие у них характеристики и области применения. Как правильно подключить датчик движения к Arduino. Какие проекты можно реализовать с помощью датчиков движения HC-SR501 и PIR.

Содержание

Принцип работы инфракрасных датчиков движения HC-SR501 и PIR

Инфракрасные датчики движения HC-SR501 и PIR (Passive Infrared) работают на основе регистрации изменений инфракрасного (теплового) излучения окружающих объектов. Как это происходит?

  • Любой объект с температурой выше абсолютного нуля излучает инфракрасные волны
  • Датчик содержит чувствительный элемент (пироэлектрик), реагирующий на ИК-излучение
  • При появлении движущегося теплого объекта (человека, животного) в зоне обнаружения меняется картина теплового излучения
  • Это изменение фиксируется датчиком, который выдает сигнал о наличии движения

Таким образом, PIR-датчики пассивно регистрируют изменения ИК-фона и не излучают ничего сами, что делает их энергоэффективными и безопасными.


Основные характеристики датчика движения HC-SR501

HC-SR501 является одним из самых популярных и доступных PIR-датчиков для Arduino. Каковы его ключевые параметры?

  • Напряжение питания: 4.5-20В (обычно используется 5В)
  • Ток потребления: <50мкА в режиме ожидания
  • Дальность обнаружения: 3-7 метров
  • Угол обзора: ~120°
  • Время задержки: регулируется от 3 секунд до 5 минут
  • Размеры: 32×24 мм

Датчик имеет 3 вывода: питание (VCC), земля (GND) и выходной сигнал (OUT). При обнаружении движения на выходе появляется высокий уровень (3.3В).

Подключение датчика движения HC-SR501 к Arduino

Подключить HC-SR501 к Arduino очень просто:

  1. VCC датчика подключаем к выводу 5V Arduino
  2. GND датчика — к GND Arduino
  3. OUT датчика — к любому цифровому пину Arduino, например D2

Код для считывания сигнала с датчика:


const int pirPin = 2; // Пин, к которому подключен датчик

void setup() {
  pinMode(pirPin, INPUT);
  Serial.begin(9600);
}

void loop() {
  int motion = digitalRead(pirPin);
  if(motion == HIGH) {
    Serial.println("Обнаружено движение!");
  }
  delay(100);
}

Области применения PIR-датчиков движения

Где можно использовать датчики движения HC-SR501 и PIR? Вот некоторые популярные варианты:


  • Автоматическое включение освещения при появлении человека
  • Охранные системы и сигнализации
  • Автоматизация в умном доме
  • Счетчики посетителей
  • Энергосберегающие системы
  • Управление вентиляцией в помещениях

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

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

Датчик HC-SR501 позволяет регулировать два важных параметра:

  1. Чувствительность (дальность обнаружения) — потенциометр «Sensitivity»
  2. Время удержания сигнала после срабатывания — потенциометр «Time»

Как настроить эти параметры?

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

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

Проекты с использованием датчиков движения HC-SR501 и PIR

Какие интересные проекты можно реализовать с помощью этих датчиков? Вот несколько идей:


  1. Автоматическая подсветка шкафа или гардеробной
  2. Охранная система для дома с оповещением на телефон
  3. Умный дверной звонок с камерой
  4. Счетчик посетителей для магазина
  5. Автоматическое включение вентилятора в ванной

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

  • Модуль часов реального времени для работы по расписанию
  • Wi-Fi модуль ESP8266 для отправки уведомлений
  • Реле для управления мощной нагрузкой

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

Преимущества и недостатки PIR-датчиков движения

Каковы плюсы и минусы использования PIR-датчиков движения? Рассмотрим основные моменты:

Преимущества:

  • Низкое энергопотребление
  • Простота использования
  • Невысокая стоимость
  • Отсутствие вредного излучения
  • Широкий угол обзора

Недостатки:

  • Возможны ложные срабатывания при резких перепадах температуры
  • Не определяют неподвижные объекты
  • Чувствительны к прямым солнечным лучам
  • Ограниченная дальность действия

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


Сравнение HC-SR501 с другими типами датчиков движения

Как HC-SR501 соотносится с другими технологиями обнаружения движения? Давайте сравним:

Тип датчикаПринцип работыПреимуществаНедостатки
PIR (HC-SR501)Пассивное ИК-излучениеНизкое энергопотребление, простотаТолько движущиеся объекты
УльтразвуковойОтражение звуковых волн
Обнаружение любых объектов
Шум, помехи от предметов
МикроволновыйОтражение радиоволнБольшая дальность, сквозь преградыВысокая стоимость, сложность

Выбор типа датчика зависит от конкретной задачи и условий применения. HC-SR501 оптимален для большинства любительских проектов.


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

Сегодня я хочу рассказать про такой замечательный датчик как HC-SR501. Как просто, быстро, а главное совсем не трудно собрать на нём устройство, которое может работать и как охранная система, и которое поможет вам сберечь много денег за счёт экономии электроэнергии. Собрать прототип схемы подключения датчика из набора можно за 10-20 минут. Это сможет даже ребёнок, но никто ведь не знает как это просто, а вот  удивление гостей и друзей вам обеспечено. Да и сделанное своими руками всегда радует больше чем покупное.   

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

Что же можно сделать:       

Удобство

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

Безопасность(в комплекте с другими системами)

  • Включить тревогу когда будет движение
  • Отправить SMS
  • Включить фото и видеосъёмку
  • Включить голосовое сообщение, напр. «Вы нарушаете закон.  Информация об этом отправлена в полицию. Они уже едут.»
  • Включить замаскированные микрофоны и вести скрытую запись.
  • и много ещё чего можно сделать

 

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

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

  • Инфракрасный датчик движения hc sr501
  • Устройство датчика движения HC SR501
  • Датчик движения HC-SR501, схемы, подключение
  • Datasheet или описание от производителя
  • Видео примеров работы
    1. Для светодиодных лент на MOSFET
    2. С реле для работы с 220В


Но в связке с любой из плат Ардуино применение этого датчика просто огромное. 

 

Это PIR датчик.

 PIR(Passive Infrared) ,что значит «пассивный инфракрасный» датчик. Пассивный — это потому что датчик  не излучает, а только принимают излучение. Поэтому такие датчики очень экономичны. Потребления всего 50µА. Работают датчики на основании изменения температур. Любой предмет излучает инфракрасные волны которые не видны человеческому глазу. Человек или животное(даже маленькая кошка) ни кто не пройдёт мимо датчика. Охотникам за приведениями этот датчик не подойдёт -(.

Характеристики датчика движения HC-SR501

  • Рабочее напряжение: 5V до 20V(может работать и от 4,5V)
  • Потребляемая мощность в работающем состоянии:50mA 
  • В режиме ожидания <50µА*
  • Уровень выходного сигнала: высокий 3,3V (HIGH), низкий 0V (LOW)
  • Время задержки: регулируется подстроечными резисторами (5 секунд  до  5 минут) 
  • Блокировка: 0,2 секунд 
  • Режимы работы:L — не повторяющийся, H — повторяющийся
  • Дальность срабатывания : от 3  до 7 метров.   Если вам нужно срабатывание на маленьком расстоянии, то следует обратить внимание на Ультразвуковой дальномер HC-SR04(от 2см до 3м)  или датчик ИК излучения YL-73(от 0,1 см  до 10-15 см) 
  • Угол обзора менее 120° (конус)
  • Рабочая температура: от -15°С до+ 70°С
  • Размеры платы: 32*24 мм, резьбовое отверстие 28 мм, диаметр винта 2 мм
  • Линза Френеля**: диаметр Ø23 мм

 

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

Бесконтактный датчик движения hc sr501 может работать отдельно, сам по себе, но лучше всего его использовать в связке с любой из плат Ардуино , с  радиомодулем nRF24L01+ или WiFi модуль ESP8266 ESP07

. Тогда можно достичь значительно больших результатов. Подробнее смотрите в  Подключении и на странице видео.
При первом включении(подаче напряжения) датчик движения начнёт калиброваться. Приблизительное время 60сек(1мин). После этого датчик готов к работе. Между срабатыванием существует задержка приблизительно 5 секунд, в это время датчик не среагирует на движение, но запомнит его и как только пройдёт время задержки, то он включится даже если и не будет никакого движения. Если для вас это неприемлемо, то можно установить 2 датчика движения и настроить их на разное время срабатывания, например один на 20 сек, а второй на 30 сек.

                                    Вид сверху                                                                                             Вид снизу                                        

                                

 

Со снятой линзой Френеля

               

 С установленным фоторезистором                                     Регулировка чувствительности и времени

                          

       

 

Инфракрасный датчик движения hc sr501 схема подключения

У датчика есть 3 вывода:
VCC  + положительный контакт источника питания от 4,5V до 20V
OUT  S выходной сигнал с датчика движения есть движение +3,3V(HIGH), нет движения 0V(LOW)
GND  — отрицательный контакт источника питания

 

Расширить сферу применения датчика движения hc sr501 можно добавив всего 1 деталь, Фоторезистор GL5506. Если припаять его на датчик движения, для этого там есть отверстия, то теперь датчик будет срабатывать только если будет темно***.

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

В режиме ожидания  на выходе датчика движения будет 0V(логический ноль). Как только датчик среагирует на какое-нибудь движение то на выходе станет 3,3V(логическая единица). В зависимость от установленного режима H или L режим работы будет разный. Устанавливается перемычкой.
если:
Н — повторяющийся. Датчик не отключится пока есть движение. Когда движение прекратится, то он выключится когда закончится установленное время работы.
L — не повторяющийся. Когда закончится установленное время работы датчик отключится, перейдёт в 0V, даже если будет движение. Затем если датчик «увидит» движение то он снова включится. 

 

Схему подключения датчика движения на 5 вольт можно посмотреть здесь, а на 12 вольт здесь.
Чтобы включать нагрузку на 220 вольт  с  hc sr501 нужно взять реле. Теперь мы сможем управлять светом, включать вентилятор, включить прожектор на даче или свет на фонарном столбе.

Очень удобно использовать датчик hc sr501 для ночника.

Вот некоторые отзывы о датчике.

  • Датчик надёжный, простой в использовании. Работает уже примерно год. Ложных срабатываний не было. Илья.
  • Чувствительный. Срабатывает даже на кошку. Пётр.
  • Дешёвый, надёжный, незаметный. Установил в подъезде. Работал всю зиму. Евгений.
  • было ещё много отзывов. 

 

PS
Датчики движения hc sr501 имеют высокую чувствительность, устойчивость к различным помехам,  очень надежны, практически отсутствуют ложные срабатывания. И самое главное они НЕДОРОГИЕ. Позволяют сэкономить ваши деньги. 

 

* Время работы  от батарейки в ждущем режиме примерно год. Это в тепличных условиях, на самом деле зависит от многих факторов.
**Линза Френеля — представляет собой оптическую деталь со сложной ступенчатой поверхностью. 
*
** Нет возможности настроить срабатывание датчика от степени освещённость. Если есть такая необходимость, то надо применять совместно с Ардуино.

[video:https://www.youtube.com/watch?v=ESuqam50-CI][video:https://www.youtube.com/watch?v=q8EshE8bCTU]

 

Инфракрасный датчик движения на Ардуино, записывающий данные в SQl при помощи дешевого модуля ESP8266 на Arduino

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

Есть множество примеров того, как заставить самодельный датчик движения работать при помощи шилда Ethernet, но я хотел использовать дешевый новый модуль WiFi ESP8266. И так как этот модуль был новым, то по нему не было достаточной документации и подключение датчика движения к Ардуино своими руками стала настоящим испытанием.

Таким образом, моя цель: сделать датчик движения Arduino, который отправляет данные с ИК-датчика движения через PHP в базу SQL посредством WiFI модуля ESP8266.

Шаг 1: Список материалов

  • Аналог Ардуино Уно
  • ИК-датчик движения
  • Самый дешевый модуль WiFi ESP8266
  • Провода с джамперами
  • Макетная плата

Шаг 2: соединяем компоненты

Заметка: в документации к модулю вайфай я обнаружил, что ему нужно больше мощности, чем может обеспечить Ардуино 3.3V, но так как у меня не было вариантов, то я постарался запитать его от порта 3.3V и всё заработало.

Я использовал версию V090 модуля ESP8266 (посмотрите прикреплённое изображение). Так как этот модуль не очень дружит с макетными платами, то её использование необходимо только для того, чтобы запитать два пина чипа ESP8266 при помощи 3.3V.

ИК-датчик соединяется обычным образом, как это делается по умолчанию в образце программы для ИК в библиотеке Ардуино.

Схема соединения:
Arduino | ESP8266
RX (D0) | TX
TX (D1) | RX
3v3 | VCC and CH_PD
GND | GND

Arduino | PIR
D3 | OUT
5v | VCC
GND | GND

Заметьте, что ИК-датчик запитан от 5V, в то время как ESP8266 нужно всего 3. 3V. Не соединяйте ESP8266 с 5V, иначе вы поджарите плату.

Шаг 3: PHP

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

В моём примере, я использую 3 страницы: dbconnect.php, add_data.php и review_data.php и у меня есть база данных ‘motion’, в которой есть одноименная таблица, в которой есть столбцы ‘id’, ‘event’ и ‘motion’,, где id и event (временной штамп) создаются автоматически при каждой записи в таблицу.

Github: dbconnect.php —> В этом файле мы создаём соединение с БД, код для этой страницы вы найдёте здесь.
Github: add_data.php —> в этом файле значения на самом деле добавляются в БД. По факту, если просто запустить add_data.php, то ничего не произойдёт и вместо этого нужно ввести add_data.php?motionornot=1 в случае движения, или 0, если движения нет. Этот параметр определяется Ардуино. Код можно найти здесь.
Github: data_review.php —> Эта страница, в зависимости от того, было движение, или нет, показывает таблицу с нулями и единицами. Эта таблица – наш финальный результат. Код для этой страницы вы найдёте здесь.

Шаг 4: Код Ардуино

Теперь, чтобы определить движение и записать 1 (или 0, если движения нет) в БД, на нужно запрограммировать Ардуино. Я написал код таким образом, что если движение было, то Ардуино не будет делать повторную проверку в течение следующих 5 минут. Затем Ардуино проверит движение на следующий 5-минутный интервал, но пока без записи 0 в БД.

Затем, если движения не будет, он отправит 0 в БД. Для более подробного изучения этой части, пройдите по этой ссылке.

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

Для работы кода нужно внести в него некоторые изменения:

  1. В строках 6 и 7 введите настройки WiFi
  2. В строке 8 введите адрест хоста, где вы разместили файлы .php (например: example.com). Не нужно писать http, не ставьте никаких слэшей и т.д.
  3. В строке 22 вы определяете количество секунд, через которые будут производится измерения.
  4. В строке 98 вы определяете путь к файлу add_data.php file. Если он располагается в «example.com/arduino/add_data.php», то вы пишете: «/arduino/add_data.php»

Шаг 5: Результат

Теперь, если вы посетите страницу example.com/arduino/data_review.php, у вас появится таблица с графиком замеченного движения.

Gravity: цифровой датчик движения (PIR) для Arduino

перейти к содержанию

Сверхбыстрая доставка

всего от 2,99 фунтов стерлингов

Ваша корзина пуста

Начать покупки

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

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

Чтобы упростить использование этого датчика, интерфейс гравитации адаптирован для работы по принципу plug&play. Плата расширения ввода-вывода Arduino лучше всего подходит для подключения этого звукового датчика к вашему Arduino. Поскольку этот датчик может работать при напряжении 3,3 В, что делает его совместимым с Raspberry Pi, Intel Edison, Joule и Curie.

PIR (Motion) Sensor Project 1: Как сделать ужасающий гаджет для Хэллоуина

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

Аппаратные компоненты:

DFRduino UNO R3 — Arduino-совместимый

TMC260 Драйвер шагового двигателя для Arduino

Биполярный шаговый двигатель с планетарной коробкой передач (18 кг.см)

DFPlayer — мини-MP3-плеер для Arduino

Gravity Цифровой ИК-датчик (движения) для Arduino

Проект ИК-датчика (движения) 2. Как сделать монитор сна с помощью Raspberry Pi и LattePanda

Аппаратные компоненты:

Гравитация: Цифровой ИК-датчик (движения) для Arduino

Raspberry Pi

Проект PIR (Motion) Sensor 3. Как сделать автоматическую рождественскую елку

Со всеми огнями и украшениями, которые люди используют на Рождество, электричество остается включенным все время, а счета за электроэнергию стремительно растут. Я сделал эту настройку освещения рождественской елки, обнаруживающую движение, которая включается только тогда, когда люди находятся поблизости. Он также воспроизводит музыку с помощью одного из наших новых продуктов — DFSpeaker v1.0!

Аппаратные компоненты:

Приложения

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

Спецификация

  • Входное напряжение: 3,3 ~ 5 В, максимум 6 В
  • Рабочий ток: 15 мкА
  • Рабочая температура: -20 ~ 85 ℃
  • Выходное напряжение: высокое 3 В, низкое 0 В
  • Время задержки выхода (высокий уровень): от 2,3 до 3 секунд
  • Угол обнаружения: 100°
  • Расстояние обнаружения: 7 метров
  • Светодиодный индикатор выхода (при высоком уровне выхода он будет включен)
  • Предельный ток контакта: 100 мА
  • Интерфейс подключения: Ph3. 0-3
  • Размер модуля: 30 мм × 22 мм (1,18 x 0,87 дюйма)

Документы

  • Вики-документ
  • Схема

Список доставки

  • Гравитация: цифровой ИК-датчик ×1
  • Гравитация: цифровой кабель ×1
Способы оплаты
AmazonAmerican ExpressMaestroMastercardPayPalVisa

Ваша платежная информация обрабатывается надежно. Мы не храним данные кредитной карты и не имеем доступа к информации о вашей кредитной карте.

Аккредитация

Использование ИК-датчика с Arduino • AranaCorp

Теги: Arduino, Датчик

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

Аппаратное обеспечение

  • Компьютер
  • Arduino UNO
  • USB-кабель Штекер A к штекеру B
  • Датчик движения PIR

Принцип действия

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

Схема

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

Код

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

 //Параметры
const int pirPin  = 2;
//Переменные
bool pirStatus  = ложь;
недействительная установка () {
 //Инициализация последовательного USB  Серийный номер  .begin(9600);  Серийный номер  .println(F("Инициализировать систему"));
 //Инициализация цифрового ввода
 pinMode(pirPin, ВХОД);
}
недействительный цикл () {
 прочитатьПИР();
}
void readPIR() { /* функция readPIR */
 ////Тестовая процедура для PIR
 pirStatus = цифровое чтение (pirPin);  Серийный номер  .print(F("Статус датчика"));  Серийный номер  .println(pirStatus);
 если (пирСтатус) {  Серийный номер  .

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

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