PIR датчик руху Arduino HC-SR501
Зміст
Загальні відомості
PIR сенсори дозволяють вловлювати рух. Дуже часто використовуються в системах сигналізації. Ці датчики малі за габаритами, недорогі, споживають мало енергії, легкі в експлуатації, практично не схильні до зносу. Крім PIR, подібні датчики називають піроелектричними і інфрачервоними датчиками руху. PIR датчики руху складаються з піроелектричного чутливого елемента (циліндрична деталь з прямокутним кристалом в центрі), який уловлює рівень інфрачервоного випромінювання. Чим більше температура, тим вище рівень випромінювання. Датчик фактично розділений на дві частини. Це обумовлено тим, що нам важливий не рівень випромінювання, а безпосередньо наявність руху в межах його зони чутливості. Дві частини датчика встановлені таким чином, що якщо одна половина вловлює більший рівень випромінювання, ніж інша, вихідний сигнал буде генерувати значення high або low.
Рис.1 Загальний вигляд модуля HC-SR501
Характеристики датчика HC-SR501
- напруга живлення постійного струму: 4,5 - 20 В;
- струм на OUT: 60 мА;
- напруга на виході: високі і низькі рівні в 3, В TTL логіки;
- дистанція виявлення: 3 - 7 м (налаштовується);
- кут виявлення: від 120 ° до 140 °;
- тривалість імпульсу при виявленні: 5 - 300 сек (налаштовується);
- час блокування до наступного виміру: 2,5 сек. (але можна змінити заміною SMD-резисторів);
- робоча температура: від -20 до + 80 ° C;
- режими роботи: L - одиночне захоплення, H - повторювані вимірювання;
- габарити модуля: 32 х 24 х 18 мм.
Принцип роботи
Піроелектричний датчик руху складається з двох основних частин. Кожна з частин включає в себе спеціальний матеріал, чутливий до інфрачервоного випромінювання. В даному випадку лінзи особливо не впливають на роботу датчика, так що ми бачимо дві ділянки чутливості всього модуля. Коли датчик знаходиться в стані спокою, обидва сенсори визначають однакову кількість випромінювання. Наприклад, це може бути випромінювання приміщення або навколишнього середовища на вулиці. Коли теплокровний об'єкт (людина або тварина), проходить повз, він перетинає зону чутливості першого сенсора, в результаті чого на модулі PIR датчика генеруються два різних значення випромінювання. Коли людина залишає зону чутливості першого сенсора, значення вирівнюються. Саме зміни в показах двох датчиків реєструються і генерують імпульси HIGH або LOW на виході.
Рис.2 Принцип роботи датчика
Підключення до Arduino
Підключити PIR датчик до мікроконтролера просто. Датчик видає цифровий сигнал, так що все, що необхідно - зчитувати з піна Arduino сигнал HIGH (виявлено рух) або LOW (руху немає) .При цьому не забудьте встановити коннектор в позицію H!
Подайте живлення 5 вольт на датчик. Після цього з'єднайте пін сигналу з датчика з цифровим піном на Arduino.
Рис.3 Підключення модуля HC-SR501 до Arduino
Принципова схема
Рис.4 Принципова схема підключення модуля HC-SR501 до Arduino
Приклад (під)програми
//VSS, OUT, GND => 5VC, Digital pin 7, GND
int pirPin = 7; //контакт для подключения датчика к Arduino
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); //подождать секунду
}
Список використаної літератури
Колонюк Сергій