Модуль датчика движения (или присутствия)  HCSR501 на основе пироэлектрического эффекта состоит из PIR-датчика 500BP с дополнительной электрической развязкой на микросхеме BISS0001 и линзы Френеля, которая используется для увеличения радиуса обзора и усиления инфракрасного сигнала. Модуль используется для обнаружения движения объектов, излучающих инфракрасное излучение. Чувствительный элемент  модуля  –  PIR-датчик 500BP. Принцип его работы  основан на пироэлектричестве. Это явление возникновения электрического поля в кристаллах при изменении их температуры.
Управление работой датчика осуществляет микросхема BISS0001. На плате расположены два потенциометра, с помощью первого настраивается дистанция обнаружения объектов (от 3 до 7 м), с помощью второго -  задержка после первого срабатывания датчика (5 - 300 сек).  Модуль имеет два  режима – L и H. Режим работы устанавливается с помощью перемычки. Режим L – режим единичного срабатывания, при обнаружении движущегося объекта на выходе OUT устанавливается высокий уровень сигнала на время задержки, установленное вторым потенциометром. На это время датчик не реагирует на движущиеся объекты. Этот режим можно использовать в системах охраны для подачи сигнала тревоги на сирену. В режиме H датчик срабатывает каждый раз при обнаружении движения.  Этот режим можно использовать  для включения освещения. При включении модуля происходит его калибровка, длительность калибровки приблизительно одна минута, после чего модуль готов к работе. Устанавливать датчик желательно вдали от открытых источников света.
 

PIR-датчик 500BP

PIR-датчик 500BP

Линза Френеля

Линза Френеля


Технические характеристики HC-SR501

  • Напряжение питания: 4.5-20 В
  • Ток потребления : 50 мА
  • Напряжение на выходе OUT: HIGH – 3,3 В, LOW – 0 В
  • Интервал обнаружения: 3-7 м
  • Длительность задержки после срабатывания: 5 — 300 сек
  • Угол наблюдения до 120
  • Время блокировки до следующего замера: 2.5сек.
  • Режимы работы:
    • L — одиночное срабатывание
    • H — срабатывание при каждом событии
  • Рабочая температура от -20 до +80C
  • Габариты 32x24x18 мм

Подключение инфракрасного датчика движения к Arduino

Модуль имеет 3 вывода:

  • VCC — питание 5-20 В
  • GND — земля
  • OUT — цифровой выход (0-3.3В)

Назначение контактов и настройка HC-SR501

Назначение контактов и настройка HC-SR501

Подключим модуль HC-SR501 к плате Arduino и напишем простой скетч, сигнализирующий звуковым сигналом и сообщением в последовательный порт, при обнаружении движущегося объекта. Для фиксации срабатываний микроконтроллером будем использовать внешние прерывания на вход 2. Это прерывание int0.

Схема соединений подключения модуля HC-SR501 к плате Arduino

Схема соединений подключения модуля HC-SR501 к плате Arduino

Загрузим скетч из листинга 1 на плату Arduino и посмотрим как датчик реагирует на препятствия. Модуль установим в режим работы L.

//  Скетч к обзору датчика движения/присутствия HC-SR501
// контакт подключения выхода датчика
#define PIN_HCSR501 2
// флаг сработки
boolean flagHCSR501=false;
// контакт  подключения динамика
int soundPin=9;
// частота звукового сигнала
int freq=587;
void setup() {
// инициализация последовательного порта
Serial.begin(9600);
// запуск обработки прерывания int0
attachInterrupt(0, intHCSR501,RISING);
}
void loop() {
if (flagHCSR501 == true) {
// Сообщение в последовательный порт
Serial.println("Attention!!!");
// звуковая сигнализация на 5 сек
tone(soundPin,freq,5000);
// обнулить флаг сработки
flagHCSR501 = false;
}
}
// обработка прерывания
void intHCSR501() {
// установка флага сработки датчика
flagHCSR501 = true;
}

Вывод данных в монитор последовательного порта

Вывод данных в монитор последовательного порта

С помощью потенциометров  экспериментируем с длительностью сигнала на выходе OUT и чувствительностью датчика (расстоянием фиксации объекта).

Пример использования

Создадим пример отправки sms при срабатывании датчика движения/присутствия на охраняемом объекте. Для этого будем использовать GPS/GPRS шилд. Нам понадобятся следующие детали:

  • плата Arduino Uno
  • датчик HC-SR501
  • GSM/GPRS шилд
  • npn-транзистор, например С945
  • резистор 470 Ом
  • динамик 8 Ом 1Вт
  • макетная плата
  • провода

Соберем схему соединений

Схема соединений

При срабатывании датчика вызываем процедуру отправки sms с текстовым сообщением Attention!!! на номер PHONE. Содержимое скетча представлено в листинге 2. GSM/GPRS шилд в режиме отправки sms потребляет ток до 2 А, поэтому используем внешний источник питания 12В 2А.

//  Скетч 2 к обзору датчика движения/присутствия HC-SR501
//  отправка sms при срабатывании датчика
// контакт подключения выхода датчика
#define PIN_HCSR501 2
// флаг сработки
boolean flagHCSR501 false;
// контакт  подключения динамика
int soundPin=9;
// частота звукового сигнала
int freq=587;
// библиотека SoftwareSerial
#include <SoftwareSerial.h>
// номер телефона для отправки sms
#define PHONE "+7903123456"
// Выводы для SoftwareSerial (у вас могут быть 2,3)
SoftwareSerial GPRS(7, 8);
void setup() {
// инициализация последовательного порта
Serial.begin(9600);
// запуск обработки прерывания int0
attachInterrupt(0, intHCSR501,RISING);
// для обмена с GPG/GPRS шилдом
GPRS.begin(19200);
}
void loop() {
if (flagHCSR501 == true) {
// Сообщение в последовательный порт
Serial.println("Attention!!!");
// звуковая сигнализация на 5 сек
tone(soundPin,freq,5000);
// отправить sms
SendSMS();
// обнулить флаг сработки
flagHCSR501 = false;
}
}
// обработка прерывания
void intHCSR501() {
// установка флага сработки датчика
flagHCSR501 = true;
}
// подпрограмма отправки sms
void SendSMS() {
// AT-команда установки text mode
GPRS.print("AT+CMGF=1\r");
delay(100);
// номер телефона
GPRS.print("AT + CMGS = \"");
GPRS.print(PHONE);
GPRS.println("\"");
delay(200);
// сообщение
GPRS.println("Attention!!!");
delay(200);
// ASCII код ctrl+z – окончание передачи
GPRS.println((char)26);
delay(200);
GPRS.println();
}


Часто задаваемые вопросы

Модуль не срабатывает при движении объекта

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

Датчик срабатывает слишком часто

Настройте потенциометром задержку длительности сигнала.
Установите перемычку в режим единичного срабатывания L.


 

Рекомендуемые товары

Комментарии 0