КОМСАТ  (068)-97-97-155 
logo АПАРАТНА ПЛАТФОРМА ARDUINO
КОМСАТ, Лтд  (068)-97-97-155
logo АПАРАТНА ПЛАТФОРМА ARDUINO
logo АПАРАТНА ПЛАТФОРМА ARDUINO
КОМСАТ, Лтд  тел.+380(68)-97-97-155

 HC-SR501 PIR датчик

hc-sr501_tb

Ви коли-небудь замислювались, як автоматичні двері знають, що ви підходите? Або як світло у коридорі саме вмикається, коли ви проходите повз вночі? Це не магія — у них використовується розумний пристрій під назвою PIR датчик! PIR (Пасивний Інфрачервоний) датчик дозволяє виявити, коли людина або тварина заходить у зону його дії або виходить з неї.

Одним з найпопулярніших PIR датчиків серед ентузіастів є HC-SR501, і на те є кілька вагомих причин:

  • Він споживає дуже мало енергії (менше 2мА)
  • Він доступний за ціною (зазвичай коштує менше $2)
  • Він може виявляти рух на відстані до 21 фута (близько 7 метрів)
  • Його дуже легко підключити до ваших проектів

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

Як працює PIR датчик?

hc-sr501_hardware

Все навколо нас — включаючи наші тіла — виділяє теплову енергію у вигляді інфрачервоного випромінювання. Це відбувається за умови, що об'єкти тепліші за абсолютний нуль (0 Кельвін або -273.15°C). Чим тепліший об'єкт, тим більше інфрачервоного випромінювання він випускає. Ми не можемо побачити це випромінювання очима, тому що воно знаходиться в інфрачервоній частині спектру світла, поза межами того, що людина може сприйняти візуально.

Простий інфрачервоний приймач може виявити наявність інфрачервоного випромінювання, але для виявлення руху нам потрібно щось, що може помічати зміни в рівнях інфрачервоного випромінювання. Саме це роблять PIR (Пасивні Інфрачервоні) датчики! Вони спеціально розроблені для виявлення змін у інфрачервоному випромінюванні, спричинених рухом теплих об'єктів, таких як люди, у межах їхнього діапазону виявлення.

hr-sr501_lens

PIR датчик має дві основні частини:

  1. Піроелектричний сенсор – Це серце пристрою, виглядає як кругла металева деталь з прямокутним кристалом у центрі.
  2. Лінза Френеля – Спеціальна лінза, яка збирає та фокусує інфрачервоні сигнали на піроелектричний сенсор.

Піроелектричний сенсор

Піроелектричний сенсор має вікно з двома прямокутними щілинами, виготовленими з матеріалу (зазвичай кремній зі спеціальним покриттям), що дозволяє інфрачервоному випромінюванню проходити. За цим вікном знаходяться два окремих електроди для виявлення інфрачервоного випромінювання – один виробляє позитивний вихідний сигнал, а інший – негативний.

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

Однак, коли теплий об'єкт, наприклад людина, рухається в межах зони виявлення датчика, одна частина виявляє зміну інфрачервоного випромінювання раніше за іншу. Це створює різницю в сигналах між двома частинами, яку датчик розпізнає як рух.

hc-sr501_ryx
hc-sr501_focus

Лінза Френеля

Лінза Френеля може виглядати так, ніби вона мало що робить, але насправді вона значно збільшує дальність та кут огляду PIR датчика.

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

Щоб збільшити дальність виявлення та кут огляду, лінза розділена на кілька секцій, кожна з яких діє як своя власна індивідуальна лінза Френеля.

Ці різні секції створюють різні зони виявлення, які перекриваються одна з одною. Ось чому центри лінз, здається, направлені в різні боки — кожна з них направляє інфрачервоне випромінювання з різної області на чутливий елемент PIR, дозволяючи датчику охоплювати набагато ширшу область.

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

Огляд апаратного забезпечення HC-SR501 PIR датчика

Одна з найкращих речей у HC-SR501 PIR датчику — це те, що він готовий до використання відразу з коробки — не потрібно жодних складних налаштувань. Все, що вам потрібно зробити, це підключити його до живлення (будь-яка напруга між 5В і 12В) та землі. Коли датчик виявляє рух, його вихідний сигнал переходить у стан HIGH. Коли руху немає, вихід залишається в стані LOW.

Завдяки цій простій функціональності, ви можете використовувати HC-SR501 датчик для запуску всіляких крутих дій у ваших проектах! Наприклад, ви можете вмикати чи вимикати світло, запускати вентилятор, активувати моторошне хелловінське прикрашення або навіть зробити знімок несподіваного відвідувача.

Що робить цей датчик ще кращим, так це те, що він використовує дуже мало електрики (менше 2мА) і може виявляти рух на відстані до 7 метрів (близько 21 фута).

Контролер BISS0001 PIR

hc-sr501_sxem

Всередині датчика знаходиться спеціальна мікросхема під назвою BISS0001 PIR Controller. Вона бере сигнали від піроелектричного сенсора (частини, яка фактично виявляє інфрачервоне випромінювання від теплих тіл) і обробляє їх для створення цифрового вихідного сигналу.

Ця мікросхема відома своєю відмінною завадостійкістю, що робить її одним з найнадійніших PIR контролерів, які ви можете отримати. Якщо ви хочете дізнатися більше про неї, ви можете подивитися даташит на BISS0001.

Живлення

Модуль має вбудований прецизійний регулятор напруги 3.3В, тому ви можете живити його будь-якою постійною напругою від 4.5 до 12 вольт. Більшість людей використовують 5В, оскільки це поширено в проектах Arduino.

Також є захистний діод (іноді називають діодом безпеки), який захищає ваш датчик, якщо ви випадково підключите живлення навпаки. Це означає, що навіть якщо ви помилитесь з підключенням, ваш датчик не пошкодиться.

Регулювання чутливості

На задній частині PIR датчика ви знайдете невеликий потенціометр, який дозволяє регулювати чутливість датчика до руху.

Обертаючи цей регулятор, ви можете контролювати, наскільки далеко датчик може виявляти рух. Якщо ви повернете потенціометр за годинниковою стрілкою, датчик стане чутливішим і зможе виявляти рух з більшої відстані, до 7 метрів. Якщо повернете його проти годинникової стрілки, він стане менш чутливим і буде виявляти лише рух, що знаходиться ближче, приблизно до 3 метрів.

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

Регулювання затримки часу

На задній частині PIR датчика ви знайдете ще один потенціометр, який дозволяє регулювати часову затримку.

Ця часова затримка контролює, як довго вихід датчика залишається у стані HIGH (або "ВКЛ") після того, як він виявив рух. Ви можете встановити цю затримку від 1 секунди до 3 хвилин. Якщо ви повернете потенціометр за годинниковою стрілкою, затримка збільшиться. Поверніть його проти годинникової стрілки, і затримка стане коротшою.

hc-sr501_pin

Джампер вибору тригера

PIR датчик має два різні способи реагування, коли він виявляє рух:

  • Режим одиночного спрацьовування (Single Trigger Mode): У цьому режимі, навіть якщо хтось продовжує рухатися, датчик спрацює лише один раз.
  • Режим множинного спрацьовування (Multiple Trigger Mode): У цьому режимі безперервний рух буде спричиняти багаторазове спрацьовування датчика.

Датчик має джампер (або іноді перемичку для пайки), який дозволяє вибрати між цими двома режимами:

  • L (Режим одиночного спрацьовування): Коли ви вибираєте цей режим, вихід переходить у HIGH, як тільки виявлено рух, і залишається HIGH протягом часу, встановленого потенціометром затримки часу. Протягом цього часу датчик ігнорує будь-який новий рух. Тільки після закінчення затримки (вихід повертається до LOW) датчик знову почне виявляти рух. Якщо хтось все ще рухається після закінчення затримки, датчик спрацює знову. Це означає, що деякий рух може бути повністю проігнорований, якщо він відбувається під час періоду затримки.
  • H (Режим множинного спрацьовування): У цьому режимі вихід також переходить у HIGH при виявленні руху і залишається HIGH протягом часу, встановленого потенціометром затримки часу. Але, на відміну від режиму одиночного спрацьовування, датчик не ігнорує новий рух. Натомість, щоразу, коли він виявляє новий рух, він скидає таймер. Це означає, що вихід залишається у стані HIGH, поки триває рух. Як тільки весь рух припиниться, вихід повернеться до LOW після того, як пройде період затримки. Цей режим чудово підходить для того, щоб утримувати світло в кімнаті включеним, поки хтось рухається.

Опційні компоненти – Термістор та Фоторезистор (LDR)

Модуль HC-SR501 має контактні майданчики для двох опційних компонентів, зазвичай позначених як 'RT' та 'RL'. На деяких платах ці позначення можуть бути приховані під лінзою Френеля з іншого боку.

  • RT: Цей майданчик призначений для підключення термістора, спеціального резистора, який змінює свій опір залежно від температури. Додавання термістора допомагає HC-SR501 покращити точність в екстремальних температурах.
  • RL: Цей майданчик призначений для підключення Фоторезистора (LDR). LDR змінює свій опір залежно від того, скільки світла на нього потрапляє. Якщо ви додасте LDR, ви можете зробити так, щоб модуль працював лише в темряві, що ідеально підходить для проектів на кшталт нічного освітлення з датчиком руху або систем безпеки, які працюють тільки після заходу сонця.
hc-sr501_size1
hc-sr501_size2

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

Робоча напруга 4.5 – 20В (зазвичай 5В)
Максимальне споживання струму < 2мА
Часова затримка ~ 1 сек до 3 хв
Дальність виявлення 3 – 7 метрів (9 – 21 фут)
Кут виявлення 120 градусів (зазвичай)

Роз'єми HC-SR501 PIR датчика

HC-SR501 PIR датчик має простий 3-контактний роз'єм, який вам потрібно буде підключити до ваших проектів. Оскільки мітки для цих контактів часто приховані під лінзою Френеля, без діаграми може бути трохи складно зрозуміти, який контакт є яким.

  • VCC – це контакт живлення датчика. Ви можете підключити цей контакт до джерела живлення від 5 до 12 вольт. Більшість людей використовують 5 вольт, тому що це зазвичай доступно від Arduino або подібного мікроконтролера.
  • Output – це вихідний контакт логіки TTL на 3.3В. Коли датчик виявляє рух, цей контакт переходить у стан HIGH (3.3 вольта). Коли рух не виявляється, контакт залишається у стані LOW (0 вольт).
  • GND – це контакт землі.

Використання PIR датчика як автономного пристрою

Одна з найкращих речей у HC-SR501 PIR датчику — це те, що він чудово працює сам по собі без необхідності в мікроконтролері. Але ви можете змусити його робити ще більше крутих речей, підключивши його до Arduino або подібного пристрою.

Почнемо з простого експерименту, щоб показати, наскільки корисним може бути цей датчик сам по собі.

Підключення дуже просте! Просто підключіть батарейки до контактів VCC і GND датчика. Потім підключіть невеликий червоний світлодіод до вихідного контакту. Нарешті, додайте резистор на 220 Ом між світлодіодом і вихідним контактом, щоб обмежити струм (це захищає світлодіод від перегорання).

Ось і все! Тепер, коли PIR датчик виявить чийсь рух, вихідний контакт перейде у стан "HIGH" (або увімкнеться), і світлодіод засвітиться.

Ви навіть могли б підключити вихід PIR датчика безпосередньо до модуля реле, якщо хочете керувати більшими пристроями, наприклад, вмикати чи вимикати лампу, коли хтось проходить повз.

Важлива порада:

Після того, як ви увімкнете схему, вам потрібно буде зачекати близько 30-60 секунд, поки PIR датчик звикне до нормальної інфрачервоної енергії в кімнаті. Протягом цього часу прогріву ви можете побачити, як світлодіод кілька разів блимає. Як тільки світлодіод перестане горіти, спробуйте пройти перед датчиком або помахати рукою, щоб спрацював датчик. Ви повинні побачити, як світлодіод засвітиться, коли він виявить ваш рух!

Направивши датчик догори, спробуйте провести рукою над ним. Коли рух буде виявлено, ви повинні побачити повідомлення "Motion detected!" у послідовному моніторі.

Речі, які потрібно врахувати перед створенням додатків на основі PIR

Коли ви проектуєте проекти з HC-SR501 PIR датчиком, є два спеціальні періоди затримки, які вам потрібно зрозуміти. Ці затримки впливають на те, як працює датчик, і можуть здивувати вас, якщо ви про них не знаєте!

Час блокування (Lockout Time)

Після того, як вихід датчика переходить з HIGH назад у LOW (що означає, що він припиняє виявляти рух), датчик робить коротку перерву приблизно на 2 секунди, протягом якої він повністю ігнорує будь-який новий рух. Це називається "час блокування".

Наприклад, припустимо, ви встановили часову затримку вашого датчика на 3 секунди, а джампер знаходиться в положенні 'L' (Режим одиночного спрацьовування). Коли ви машете рукою перед датчиком, вихід переходить у HIGH на 3 секунди. Як тільки ці 3 секунди проходять, вихід повертається до LOW. Потім йде 2-секундний "період блокування". Якщо ви рухаєтесь під час цієї 2-секундної перерви, датчик це взагалі не побачить (як з Рухом #2 у прикладі)!

Затримка при вмиканні живлення (Power On Delay)

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

Датчик може спрацьовувати кілька разів помилково протягом цього часу (світлодіод може блимати). Отже, ви повинні ігнорувати будь-які сигнали від датчика протягом першої хвилини після вмикання живлення. Також намагайтеся не рухатися занадто багато перед датчиком. Якщо протягом цього періоду буде занадто багато руху, датчик не вивчить кімнату належним чином і може неправильно працювати згодом.

Розуміння цих двох спеціальних періодів затримки допоможе вам краще проектувати проекти з вашим PIR датчиком і уникнути плутанини, коли здається, що він не виявляє рух, коли повинен це робити!

HC-SR501 PIR датчик — це чудовий спосіб додати можливість виявлення руху до ваших IoT-проектів на базі ESP8266. Wemos D1 Mini, який базується на мікроконтролері ESP8266, ідеально підходить для таких завдань завдяки своїй компактності та вбудованій підтримці Wi-Fi.

Апаратне підключення до Wemos D1 Mini

Підключення HC-SR501 до Wemos D1 Mini дуже просте. Ось схема підключення:

HC-SR501 PIR датчик Wemos D1 Mini
VCC (Живлення) 5V або 3.3V*
GND (Земля) G (GND)
OUT (Вихід) D2 (GPIO4)

*Примітка: HC-SR501 може працювати від 3.3V до 5V. Для безпечного підключення до Wemos D1 Mini рекомендується використовувати 3.3V, оскільки це напруга логіки мікроконтролера.

Налаштування HC-SR501 для роботи з ESP8266

Перед підключенням налаштуйте датчик:

  1. Режим тригера: Встановіть джампер у положення H (Multiple Trigger Mode) для безперервного моніторингу руху
  2. Часова затримка: Встановіть потрібну затримку (наприклад, 3-5 секунд)
  3. Чутливість: Відрегулюйте за потребою (середнє положення для початку)

Важливі зауваження для роботи з ESP8266

  1. Напруга живлення: Wemos D1 Mini має обмежений струм на виході 3.3V. HC-SR501 споживає менше 2mA, що цілком безпечно.
  2. Логічні рівні: Вихід HC-SR501 - 3.3V TTL, що ідеально сумісне з ESP8266.
  3. Піни GPIO: Використовуйте цифрові піни (D0-D8). Уникайте пінів, які використовуються для flash-пам'яті (GPIO6-GPIO11).
  4. Час ініціалізації: Не забувайте про 30-60 секундну затримку після подачі живлення для калібрування датчика.
  5. Deep Sleep: Для енергозбереження можна використовувати режим глибокого сну ESP8266, прокидаючись по перериванню від PIR датчика.

Практичні проекти з Wemos D1 Mini та HC-SR501

Поширені проблеми та вирішення

Проблема Можлива причина Рішення
Ложні спрацьовування Швидкі зміни температури, кондиціонер, батарея Зменшити чутливість, перемістити датчик
Не виявляє рух Занадто низька чутливість, неправильне розташування Збільшити чутливість, перевірити зону охоплення
Нестабільна робота Wi-Fi Перешкоди від PIR датчика Додати фільтруючий конденсатор (100µF) на живлення
ESP8266 перезавантажується Просадка напруги Використовувати окреме джерело живлення для Wemos D1 Mini

HC-SR501 у поєднанні з Wemos D1 Mini створює потужну та енергоефективну систему виявлення руху з можливістю підключення до Інтернету. Ця комбінація ідеально підходить для розумного дому, охоронних систем та автоматизації.