• Главная
  • Карта сайта
Не найдено

Arduino PIR датчик руху | Робототехніки на Ардуіно

  1. Motion PIR sensor що це
  2. Як підключити датчик руху до Ардуіно
  3. Скетч для датчика руху Ардуіно
  4. Пояснення до коду:
  5. Світильник на Ардуіно з датчиком руху
  6. Пояснення до коду:

Розглянемо датчик руху для Arduino, як підключити PIR sensor до Ардуіно. Продемонструємо скетч для автоматичного включення світильника від сенсора.

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

Motion PIR sensor що це

Сьогодні вже ніхто не дивується при автоматичному включенні освітлення в під'їздах багатоквартирних будинків, які спрацьовують при проходженні людини. У більшості приладів встановлені пасивні датчики руху (PIR). Розглянемо в цій статті пристрій датчика руху, схему його підключення до Arduino UNO і зберемо на його основі автоматичний вмикач освітлення.

Розглянемо в цій статті пристрій датчика руху, схему його підключення до 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). згідно мови програмування Ардуіно , Подвійне рівність є оператором порівняння.

Світильник на Ардуіно з датчиком руху

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

#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); }}

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

  1. за допомогою функції counttime = millis (); ми починаємо відлік часу. При цьому, на відміну від функції delay, яка повністю перериває програму, мікроконтролер може продовжувати інші обчислення в скетчі.
  2. ми змінили час вимикання світильника. Якщо в першому скетчі світлодіод вимикався відразу після сигналу LOW з датчика. То зараз ми даємо 1 хвилину до вимкнення світильника, на випадок якщо людина не вийшла з кімнати.

Провайдеры:
  • 08.09.2015

    Batyevka.NET предоставляет услуги доступа к сети Интернет на территории Соломенского района г. Киева.Наша миссия —... 
    Читать полностью

  • 08.09.2015
    IPNET

    Компания IPNET — это крупнейший оператор и технологический лидер на рынке телекоммуникаций Киева. Мы предоставляем... 
    Читать полностью

  • 08.09.2015
    Boryspil.Net

    Интернет-провайдер «Boryspil.net» начал свою работу в 2008 году и на данный момент является одним из крупнейших поставщиков... 
    Читать полностью

  • 08.09.2015
    4OKNET

    Наша компания работает в сфере телекоммуникационных услуг, а именно — предоставлении доступа в сеть интернет.Уже... 
    Читать полностью

  • 08.09.2015
    Телегруп

    ДП «Телегруп-Украина» – IT-компания с 15-летним опытом работы на рынке телекоммуникационных услуг, а также официальный... 
    Читать полностью

  • 08.09.2015
    Софтлинк

    Высокая скоростьМы являемся участником Украинского центра обмена трафиком (UA — IX) с включением 10 Гбит / сек... 
    Читать полностью