Ардуіно інфрачервоний датчик руху, бенкет, клас робототехніки

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

До речі сказати, існують і інші способи визначення руху. Сьогодні все частіше використовують системи комп'ютерного зору для розпізнавання об'єктів і траєкторії їх переміщення. У тих же охоронних системах застосовуються лазерні детектори, які дають тривожний сигнал при перетині променя. Також використовуються тепловізійні датчики, здатні визначити рух тільки живих істот.

1. Принцип дії піроелектричних датчиків руху

Піроелектріки - це діелектрики, які створюють електричне поле при зміні їх температури. На основі піроелектриків роблять датчики вимірювання температури, наприклад, LHI778 або IRA-E700. Кожен такий датчик містить два чутливих елемента розміром 1 × 2 мм, підключених з протилежного полярністю. І як ми побачимо далі, наявність саме двох елементів допоможе нам детектувати рух.

Ось так виглядає датчик IRA-E700 компанії Murata.

Ардуіно інфрачервоний датчик руху, бенкет, клас робототехніки

На цьому уроці ми будемо працювати з датчиком руху HC-SR501, в якому встановлений один такий піроелектричний датчик. Зверху піроелектрик оточений півсферою, розбитою на кілька сегментів. Кожен сегмент цієї сфери є лінзу, яка фокусує теплове випромінювання на різні ділянки ПІР-датчика. Часто в якості лінзи використовують лінзу Френеля.

Ардуіно інфрачервоний датчик руху, бенкет, клас робототехніки

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

Ардуіно інфрачервоний датчик руху, бенкет, клас робототехніки

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

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

2. Налаштування HC-SR501

На цьому уроці ми будемо використовувати модуль HC-SR501. Цей модуль дуже поширений і застосовується в безлічі DIY проектів в силу своєї дешевизни.

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

Ардуіно інфрачервоний датчик руху, бенкет, клас робототехніки

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

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

У положенні H датчик починає відлік часу T кожен раз після виявлення руху. Іншими словами, будь-який ворушіння людини викличе обнулення таймера відліку Т. За замовчуванням, перемичка знаходиться в стані H.

3. Підключення HC-SR501 до Ардуіно Уно

Для з'єднання з мікро контролером або безпосередньо з реле у HC-SR501 є три висновки. Підключаємо їх до Ардуіно за наступною схемою:

Ардуіно інфрачервоний датчик руху, бенкет, клас робототехніки

Зовнішній вигляд макета

Ардуіно інфрачервоний датчик руху, бенкет, клас робототехніки

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

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

4. Управління світлом на основі датчика руху

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

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

Увага! Дана схема запалює лампу від мережі 220 Вольт. Рекомендується сім раз перевірити всі з'єднання, перш ніж з'єднувати схему з побутовою електромережею.

Ардуіно інфрачервоний датчик руху, бенкет, клас робототехніки

Зовнішній вигляд макета

Ардуіно інфрачервоний датчик руху, бенкет, клас робототехніки

Тепер напишемо програму, яка буде при спрацьовуванні датчика включати реле, а отже і освітлення в кімнаті.

Завантажуємо програму на Ардуіно, акуратно підключаємо схему до побутової мережі і перевіряємо роботу датчика.

Датчики руху оточують нас всюди. Завдяки охоронних систем, їх можна зустріти практично в кожному приміщенні. Як ми з'ясували, вони дуже прості у використанні і можуть бути легко інтегровані в будь-який проект на Ардуіно або Raspberry Pi.

Ось кілька ситуацій і місць, де може стати в нагоді датчик руху:

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