Плата WAVGAT і HC-SR501 – підключення датчика руху

Розглянемо підключення WAVGAT і HC-SR501. Перед початком роботи з платою WAVGAT UNO R3 або WAVCAT UNO R3, що належить до функціональних і сумісних аналогів плати Arduino UNO R3, необхідно здійснити правильне налаштування Arduino IDE. Для цього можна скористатися інструкціями в даній СТАТТІ.

Отже HC-SR501 – це модуль, що складається із самого PIR-давача (Pyroelectric (Passive) InfraRed sensor) і схеми керування.

Розпіновка давача руху HC-SR501 (вигляд знизу)

Свого часу ми вже описували принципи підключення даного давача руху до оригінальної плати Arduino UNO R3. Давач HC-SR501 має три основних контакти:

GND – земля (мінус живлення). Підключається до порту GND на WAVGAT;
OUT – інформаційний вихід. Підключається до програмованого цифрового порту на WAVGAT;
+Power – плюс живлення. Підключається до живлення 5V на WAVGAT.


Також присутні два регулятори, що відповідають за чутливість давача і часові затримки у його роботі. Схема підключення давача руху HC-SR501 до плати WAVGAT UNO R3 може бути такою:

Напишемо програму для роботи WAVGAT і HC-SR501, яка буде зчитувати покази давача руху, відображати результати на дисплеї комп’ютера та вмикатиме стандартний світлодіод WAVGAT (на 13 порту) при виявленні руху.

//VSS, OUT, GND => 5VC, Digital pin 7, GND

int pirPin = 7;               //контакт для підключення давача руху до WAVGAT
int ledPin = 13;              //використання стандартного світлодіода
int val = 0;                  //змінна для збереження стану давача

void setup() {
Serial.begin(9600);           //відкриваємо сеанс зв'язку з комп'ютером
pinMode(pirPin, INPUT);       //визначаємо вхідний контакт для давача
pinMode(ledPin, OUTPUT);      //визначаємо контакт із світлодіодом як вихід
}

 
void loop() {
val = digitalRead(pirPin);    //читаємо стан давача руху
if (val == HIGH) {            //якщо є рух
digitalWrite(ledPin, HIGH);   //увімкнути стандартний світлодіод
Serial.println("Motion!");    //передати на комп'ютер "Motion!"
}
else {
digitalWrite(ledPin, LOW);    //інакше вимкнути світлодіод
Serial.println("No motion");  //і передати комп'ютеру "No motion"
}
delay(1000);                  //зачекати секунду
}
Результат роботи датчика руху

Залишити коментар

Your email address will not be published. Required fields are marked *

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.