Плата WAVGAT UNO R3 – подключение датчика движения HC-SR501

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

Итак HC-SR501 – это модуль, состоящий из самого PIR-датчика (Pyroelectric (Passive) InfraRed sensor) и схемы управления.

Распиновка датчика движения HC-SR501 (вид снизу)

В свое время мы уже описывали принципы подключения данного датчика движения к оригинальной плате Arduino UNO R3. Подробнее об этом читайте в СТАТЬЕ. Датчик HC-SR501 имеет три основных контакты:

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


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

Напишем программу для WAVGAT, которая будет считывать показания датчика движения, отображать результаты на дисплее компьютера и включать стандартный светодиод 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 для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.