Модуль инфракрасного датчика движения HS-SR501
Описание
Цифровой датчик, основанный на инфракрасной технологии. Пироэлектрический элемент (приемник ИК излучения) позволяет отслеживать движение теплых объектов. Удобен для использования в проектах по сигнализации, автоматизации включения света при появлении человека и пр.
Технические характеристики
- Напряжение питания: 5 - 20 В
- Потребляемый ток: < 50 мкА
- Выходное напряжение: 3,3 В (HIGH сигнал), 0 В (LOW сигнал)
- Два режима работы
- Время задержки: 5 - 300 сек (регулируется)
- Время блокировки: 2,5 сек (регулируется)
- Угол обзора: 110°
- Рабочая температура: -15°C - 70°C
Физические размеры
- Модуль (Д х Ш х В): 32 х 24 х 25 мм
Режимы работы
- Режим работы «H» - в данном режиме выходной сигнал датчика остается в HIGH во время задержки, пока остается движение в зоне срабатывания датчика, далее сигнал снижается до LOW после задержки, если движение отсутствует
- Режим работы «L» - в данном режиме выходной сигнал датчика переводится в HIGH, при каждом обнаружении движения
Плюсы использования данного датчика
- Недорогое решение для использования в DIY устройствах
- Высокая дальность срабатывания
- Большой угол обзора
- Низкое энергопотребление
- Прост в подключении
- Два режима работы
- Настраиваемое время задержки и блокировки
Минусы использования данного датчика
- Отслеживает движения только теплых объектов
Элементы датчика
- Вход GND
- Сигнальный выход OUT
- Вход питания VCC
- Переключатель в режим «H»
- Переключатель в режим «L»
- Регулятор чувствительности
- Регулятор времени задержки
Пример подключения и использования
В примере иллюстрируется подключение модуля к контроллеру (в примере использовался контроллер Smart UNO), и вывод сообщений о наличии (или отсутствии) движения.
Что нужно | Кол-во, шт |
---|---|
Контроллер Smart UNO | 1 |
Модуль инфракрасного датчика движения HS-SR501 | 1 |
Провода папа-мама | 3 |
Скетч для загрузки:
const int outPin = 8; //пин подключения вывода Out от датчика const int ledPin = 13; //пин свтодиода на контроллере void setup() { pinMode(outPin, INPUT); // режим пина Out pinMode(ledPin, OUTPUT); //режим пина светодиода digitalWrite(outPin, LOW); //На Out подача 0В //Калибровка датчика (не менее 30 сек) for(int i = 0; i < 30; i++) { digitalWrite(ledPin, HIGH); //включение светодиода delay(500); //задержка digitalWrite(ledPin, LOW); //отключение светодиода delay(500); //задержка } delay(50); //задержка Serial.begin(9600); //инициализация Serial-порта } void loop() { if (digitalRead(outPin) == HIGH) Serial.println("There is some moving"); //если обнаружено движение - вывести сообщение об обнаружении else Serial.println("There is quiet"); //иначе вывести сообщение об отсутствии delay(100); //задержка }