Главная » Ардуино » Схема системы безопасности на базе Arduino с использованием датчика движения PIR

Схема системы безопасности на базе Arduino с использованием датчика движения PIR

PIR-датчики широко применяются в беспроводных домашних охранных и иных системах безопасности в качестве детектора движения. Типичный PIR-датчик обнаруживает инфракрасные (ИК) волны исходящие от человеческого тела, и поэтому он также известен как «датчик присутствия».

Было бы замечательно, если бы мы подключили PIR датчик к Arduino, чтобы получить дешевую систему безопасности дома, не так ли?

Как использовать интерфейс PIR Wireless Motion Sensor с Arduino?

PIR Wireless Motion Sensor

Ранее мы приводили некоторые схемы безопасности для дома, построенные на дискретных компонентах. Сегодня же рассмотрим схему с применением Arduino и PIR датчика присутствия. Мы приведем принципиальную схему устройства, рассмотрим подключение PIR -датчика к Arduino и разберем скетч.

Наша домашняя система безопасности обнаруживает движение человека и включает свет и звуковой сигнал.

Здесь в демонстрационных целях использован светодиод. Этот проект можно расширить для использования совместно с автоматическими дверями, систем автоматизации, для автоматической подсветка пола, подвала, веранды, ванной комнаты, склада, гаража и т. д.

Компоненты, необходимые для простой системы домашней безопасности

  • Arduino UNO
  • USB-кабель
  • Датчик PIR
  • Зуммер на 5В
  • Светодиод

Схема системы безопасности на базе Arduino

Как работает датчик движения PIR

Датчик PIR имеет 2 окна, которые чувствительны к ИК-излучению. Когда датчик находится в режиме ожидания, оба окна обнаруживают одинаковое количество ИК-излучения.

Как работает датчик движения PIR

В то время как объект, излучающий инфракрасные волны (тело человека или животного) перемещается в зоне чувствительности PIR датчика, одно из окон датчика получает больше ИК излучения, что вызывает положительное дифференциальное изменение между двумя окнами.

Через некоторое время объект покидает зону второго окна, в результате чего происходит обратный эффект, вызывающий отрицательное дифференциальное изменение. Эти импульсы и могут быть обнаружены.

У PIR датчика есть три контакта: GND, OUTPUT и VCC. Питание датчика осуществляется постоянным напряжением от 5 до 20 В. При обнаружении движения на выходе датчика (OUTPUT) появляется высокое состояние. Время задержки выходного сигнала может быть отрегулировано от 0,3 до 5 минут, это означает, что в случае обнаружения какого-либо движения выход будет высоким в течение установленного времени.

Переставляя перемычку на плате можно выбрать один из двух режимов работы датчика: с перезапуском и без перезапуска.

  • С перезапуском – при движении на выходе происходит переключение с высокого состояния на низкое.
  • Без перезапуска – на выходе всегда будет высокое состояние  пока есть движение.

Зона охвата датчика: до 120 градусов на расстоянии до 7 метров.

Три контакта GND, OUTPUT и VCC датчика PIR подключены к цифровым контактам Arduino (2, 3 и 4), а контакты 5, 6 используются для подключения зуммера и светодиода, которые будут активны при обнаружении движения.
[slh lang=»php»]const int LEDPin = 6; // вывод для светодиода
const int PIRgnd = 2; // GND для датчика PIR
const int inputPin = 3; // входной контакт для датчика PIR
const int PIRvcc = 4; // VCC для датчика PIR
const int BUZZERpin = 5; // вывод для зуммера
void setup ()
{
pinMode (LEDPin, OUTPUT); // объявляем LEDpin как выход
pinMode (BUZZERpin, OUTPUT); // объявляем BUZZERpin как выход
pinMode (PIRgnd, OUTPUT); // объявлять вывод GND как выход
pinMode (inputPin, INPUT); // объявлять inputPin как выход
pinMode (PIRvcc, OUTPUT); // объявлять вывод PIRvcc как выход
digitalWrite (PIRgnd, LOW);
digitalWrite (PIRvcc, HIGH);
}

void loop ()
{
int val = digitalRead (inputPin); // чтение входного значения
if (val == HIGH) // проверить, является ли вход HIGH
{
digitalWrite (LEDPin, HIGH); // включить светодиод, если обнаружено движение
digitalWrite (BUZZERpin, HIGH); // включить зуммер, если обнаружено движение
delay (500);
digitalWrite (LEDPin, LOW); // выключить светодиод
digitalWrite (BUZZERpin, LOW); // выключить зуммер
}
} [/slh] Скетч достаточно прост. Устанавливаем 3-й контакт Arduino как вход, так как этот вывод используется для подключения выхода инфракрасного датчика. Другие контакты зададим как выход. Контакт 2 установлен в положение LOW, а контакт 4 — HIGH, который дает GND и VCC для датчика PIR.

Функция «loop ()» является бесконечным циклом, она непрерывно считывает значения с выхода PIR и проверяет, является ли уровень сигнала НИЗКИЙ или ВЫСОКИЙ. Если он высокий, то на 500 миллисекунд включается светодиод и зуммер.

Если мы хотим при входе включить свет или вентилятор, то подключите контакты 5, 6 к реле через транзистор.

www.circuitsgallery.com

Оставить комментарий

Ваш email нигде не будет показан. Обязательные для заполнения поля помечены *

*