Wiring – Connecting HC-SR501 PIR motion sensor to Arduino UNO
By connecting the motion sensor to a microcontroller like the Arduino UNO, you can use it to control all kinds of things: LEDs, relays, motors, buzzers etc.
In the wiring diagram below, you can see how to hook it up to the Arduino. You can read the sensor with one of the general-purpose input/output (GPIO) pins of the Arduino. In this example, I connected it to digital pin 2. The VCC and GND pins are connected to 5 V and GND respectively.
HC-SR501 PIR motion sensor with Arduino wiring diagram
The connections are also given in the table below:
HC-SR501 PIR Motion Sensor Connections
HC-SR501 PIR Motion Sensor | Arduino |
---|---|
VCC | 5 V |
OUT | Pin 2 |
GND | GND |
Once you have wired up the sensor, the next step is to upload some example code.
Схема подключения к гарнитуре телефона
В принципе, такое же устройство (звонящее на сотовый) можно сделать и по схеме на рис.1, заменив сирену электромагнитным реле, контакты которого подключить параллельно кнопке гарнитуры сотового телефона. Или сохранить и сирену, подключив обмотку реле параллельно ей. А вот микросхему CD4066 со схемы на рис.2 пристроить в схему на рис.1 будет затруднительно.
Связано это с тем, что выходной уровень логической единицы датчика движения равен 3,ЗV при любом напряжении питания. Поэтому, если микросхема D1 будет питаться напряжением 12V, единицу напряжением 3,ЗV она не воспримет как единицу, потому что напряжение единицы для её входа должно быть не менее 60% от напряжения питания. Либо D1 нужно будет питать напряжением 5V через параметрический стабилизатор.
Рис. 2. Схема подключения датчика HC-SR501 к гарнитуре мобильного телефона.
Микросхему CD4066 можно заменить аналогом К561КТЗ.
Повышение универсальности PIR датчика HC-SR501
Печатная плата HC-SR501 имеет площадки для двух дополнительных компонентов. Они обычно обозначаются как «RT» и «RL»
Обратите внимание, что на некоторых платах обозначения могут быть закрыты «купольной» линзой на стороне, противоположной компонентам
Рисунок 7 – PIR датчик. Площадки для фоторезистора и термистора
- RT – предназначен для термистора или термочувствительного резистора. Его добавление позволяет использовать HC-SR501 при экстремальных температурах, а также в некоторой степени повышает точность детектора.
- RL – это место для подключения светочувствительного резистора (LDR) или фоторезистора. При добавлении этого компонента HC-SR501 будет работать только в темноте, это обычное применение для систем освещения, чувствительных к движению.
Дополнительные компоненты могут быть припаяны непосредственно к плате или выведены в удаленные места с помощью проводов и разъемов.
Режимы работы
Модуль может работать в режиме «non retriggerable» («не перезапускаемый») или в режиме «retriggerable» («перезапускаемый»).
В «не перезапускаемом» режиме после срабатывания на выходе устанавливается высокий уровень. В высоком уровне выход остаётся некоторое время Tx. После чего на выходе устанавливается низкий уровень, в котором он остаётся на время Ti (запускается таймер блокировки срабатывания). После чего модуль снова может сигнализировать об обнаружении движения.
Что бы было понятней, приведём пример. Допустим к выводу модуля подключен светодиод, а перед модулем постоянно происходит движение (махать рукой и т.д.). В «не перезапускаемом» режиме светодиод некоторое время будет светиться, затем не на долго погаснет. Потом снова начнёт светиться и спустя время опять погаснет. И т.д.
В «перезапускаемом» режиме после срабатывания на выходе устанавливается высокий уровень. Высокий уровень будет удерживаться в течении времени Tx. Если за время Tx датчик снова обнаружит движение, вывод не будет переведён в низкий уровень, а таймер Tx перезапустится. После окончания Tx, запустится таймер блокировки Ti. Если движение обнаружено во время Ti, на выходе модуля не будет установлен высокий уровень.
Возвращаясь к примеру со светодиодом, это означает следующее – пока перед датчиком есть движение, светодиод будет постоянно светиться.
Время Tx и Ti задаются резисторами и конденсаторами, подключенными к выводам 3, 4, 5 и 6 микросхемы. Для изменения Ti на плате придётся перепаять детали. А для частичной подстройки Tx на плате установлен подстроечный резистор. Выше есть два изображения – схема и фото с описанием где какие детали. «Регулировка времени» это и есть частичная подстройка Tx. Обычно на плате запаяны такие номиналы, что бы блокировка (Ti) длилась примерно пару секунд, а Tx можно было настроить от нескольких секунд до нескольких минут.
Режим «не перезапускаемый» иногда ещё называют режимом «L», а «перезапускаемый» режимом «H». Это связано с тем, какой уровень устанавливается на первом пине (вход) микросхемы BISS0001. «L» (low) это низкий уровень, а «H» (high) это высокий. Где какой режим, на плате иногда помечается буквами «L» и «H», а иногда не обозначают. На модулях, что на фото выше, на зелёном есть обозначение, а на синем нет.
Также может и отличаться, что нужно сделать для переключения режимов. На синем модуле для переключения просто переставляется перемычка. А на зелёном сначала нужно перерезать дорожку, после чего запаять перемычку:
Create an alarm system with PIR motion sensor and buzzer
With some simple changes, you can create an alarm system with the HC-SR501 and a piezoelectric buzzer. I connected the buzzer with a 100 Ω resistor between digital pin 5 and GND. You can probably use the buzzer without a resistor (this makes it louder), but it will not sound as nice.
HC-SR501 PIR motion sensor with Arduino UNO and buzzer wiring diagram.
The code below is mostly the same as the previous example. I only added a function to create the beeping alarm sound. You can change the pitch of the buzzer by changing the input parameter of the function.
/* Example code to create an alarm system with HC-SR501 PIR motion sensor, buzzer and Arduino. More info: www.www.makerguides.com */ // Define connection pins: #define buzzerPin 5 #define pirPin 2 #define ledPin 13 // Create variables: int val = 0; bool motionState = false; // We start with no motion detected. void setup() { // Configure the pins as input or output: pinMode(buzzerPin, OUTPUT); pinMode(ledPin, OUTPUT); pinMode(pirPin, INPUT); // Begin serial communication at a baud rate of 9600: Serial.begin(9600); } void loop() { // Read out the pirPin and store as val: val = digitalRead(pirPin); // If motion is detected (pirPin = HIGH), do the following: if (val == HIGH) { digitalWrite(ledPin, HIGH); // Turn on the on-board LED. alarm(500, 1000); // Call the alarm(duration, frequency) function. delay(150); // Change the motion state to true (motion detected): if (motionState == false) { Serial.println("Motion detected!"); motionState = true; } } // If no motion is detected (pirPin = LOW), do the following: else { digitalWrite(ledPin, LOW); // Turn off the on-board LED. noTone(buzzerPin); // Make sure no tone is played when no motion is detected. delay(150); // Change the motion state to false (no motion): if (motionState == true) { Serial.println("Motion ended!"); motionState = false; } } } // Function to create a tone with parameters duration and frequency: void alarm(long duration, int freq) { tone(buzzerPin, freq); delay(duration); noTone(buzzerPin); }
Как сделать дистанционный включатель освещения по движению на датчике движения HC-SR505, инструкция:
Датчик движения HC-SR505 оте полностью аналогичен работе PIR-датчика HC-SR501 но имеет более компактный размер и урезанными функциями, так как нет регулировок чувствительности и задержки отключения, она зафиксирована на 8 секундах. Напряжение питания у него от 4,5 до 20В. При обнаружении движущегося объекта на выходе OUT появляется высокий уровень 3,3В на 8 секунд.
На плате датчика имеется не распаянное посадочное место под SMD npn транзистор, чтобы можно было подключать более мощные нагрузки, например для управления освещением. При установке на плату транзистора резистор с нулевым сопротивлением который стоит в качестве перемычке нужно убрать.
Датчик движения на HC-SR505, увеличиваем дальность обнаружения движения
Датчик движения на HC-SR505, увеличиваем дальность обнаружения движения
Схема для переделки датчика:
Датчик движения на HC-SR505, увеличиваем дальность обнаружения движения
Нагрузку будет включать в моём случае твердотельное реле на 5В (внутри него содержится оптрон и симистор), нагрузка может быть подключена к нему на выход до 240В 2А.
Датчик движения на HC-SR505, увеличиваем дальность обнаружения движения
Питать устройство будем от миниатюрного импульсного БП, подойдёт любая зарядка от телефона, так как наша схема очень экономная, с малым током потребления – 10мА при 5В. При питании от БП с напряжением от 6 до 18 Вольт последовательно с выводом 2 датчика нужно установить резистор, рассчитанный по формуле R=(U-5)\0,008 где U в Вольтах а R в Омах.
Датчик движения на HC-SR505, увеличиваем дальность обнаружения движения
Для своего устройства я взял БП от зарядки, тут же подпаял и прикрепил на трансформатор твердотельное реле.
Датчик движения на HC-SR505, увеличиваем дальность обнаружения движения
Датчик движения на HC-SR505, увеличиваем дальность обнаружения движения
Дальше для увеличения дистанции обнаружения движения нам понадобится отражатель от фонарика, без него датчик обнаруживает движение до 4-х метров, а с ним я проверял достигает до 11 метров.
Датчик движения на HC-SR505, увеличиваем дальность обнаружения движения
Датчик движения на HC-SR505, увеличиваем дальность обнаружения движения
Датчик движения на HC-SR505, увеличиваем дальность обнаружения движения
Датчик вклеиваем в отражатель термоклеем, а дальше вставляем в ПВХ трубу, у меня отражатель как раз получается по размерам утолщения этой трубы и вставляем датчик в трубу пока отражатель упрётся в тонкую часть трубы и там его фиксируем термоклеем. Перед этим я обычно центрую отражатель куском такой же трубы, всунув её в переднюю часть и натянув за проводки сзади.
Датчик движения на HC-SR505, увеличиваем дальность обнаружения движения
Этот же отрезок трубы будет в дальнейшем служить для настройки фокуса, двигая её.
Датчик движения на HC-SR505, увеличиваем дальность обнаружения движения
В трубу вставляем с обратной стороны БП с подпаянными к нему проводами (питание 220В и выход с реле на лампочку), на провода я надел заглушку, у меня это силиконовое кольцо от сантехники, он плотно вставляется крепко удерживая БП внутри.
Датчик движения на HC-SR505, увеличиваем дальность обнаружения движения
Подключаем готовый самодельный датчик движения в сеть и испытываем.
Датчик движения на HC-SR505, увеличиваем дальность обнаружения движения
Датчик движения на HC-SR505, увеличиваем дальность обнаружения движения
Как видим датчик срабатывает хорошо, он стал узконаправленный но при этом дальность у него стала гораздо больше.
Забрать к себе:
PIR детектор движения HC-SR501
Для большинства наших проектов на Arduino, которые должны определять, когда человек покинул или вошел в зону, или приблизился, PIR датчики HC-SR501 являются отличным выбором. Они имеют низкое энергопотребление и низкую стоимость, довольно прочные, имеют широкий диапазон линз, с ними легко взаимодействовать, и они безумно популярны среди любителей.
PIR датчик HC-SR501 имеет три вывода: питание VCC, выход и земля (показано на рисунке ниже). Он имеет встроенный стабилизатор напряжения, поэтому он может питаться от любого постоянного напряжения от 4,5 до 12 вольт, обычно используется 5В. Кроме этого, у него есть несколько настроек. Давайте проверим их.
Рисунок 4 – Распиновка PIR датчика. Расположение компонентов на плате.
На плате есть два потенциометра для настройки пары параметров:
- Чувствительность – устанавливает максимальное расстояние, на котором может быть обнаружено движение. Оно варьируется от 3 до 7 метров. На реальное расстояние, которое вы получите, может влиять планировка вашего помещения.
- Время – устанавливает время, в течение которого выходной сигнал останется на высоком логическом уровне после обнаружения. Минимум – 3 секунды, максимум – 300 секунд или 5 минут.
Наконец, на плате есть перемычка (на некоторых моделях перемычка не впаяна). У нее есть два варианта настройки:
-
H – это удержание / повтор / повторный запуск. В этом положении HC-SR501 будет продолжать выдавать высокий логический уровень, пока он продолжает обнаруживать движение.
Рисунок 5 – Работа PIR датчика HC-SR501 в режиме повторного запуска
-
L – это прерывающийся или неповторяющийся / без повторного запуска. В этом положении выходной сигнал останется на высоком логическом уровне в течение времени, установленного регулировкой потенциометра TIME.
Рисунок 6 – Работа PIR датчика HC-SR501 в режиме без повторного запуска
ДД с Ардуино
Подключение sr 501 к Ардуино позволяет самостоятельно программировать работу устройства. Вести тонкую настройку, как самого прибора, так и системы работающей с ним. Осуществляется это при помощи редактирования программного кода, он же скетч. Скетч решает множество организационных вопросов, но и требует определенных знаний в процессе программирования.
База Ардуино предоставляет большой перечень готового кода, под разные нужды, но написание его самостоятельно или подгонка существующего под себя сделает агрегат еще эффективней.
Работе реле можно запрограммировать на срабатывание не сразу по появлению человека в чувствительном сенсоре, а по достижению определенного времени пребывания человека в зоне видимости. Или наоборот настроить срабатывание только при выходе человека из зоны видимости (по такой технологии, к примеру, работает множество туалетов и писсуаров).
Достаточно обладать фантазией, навыками в пайке микросхем, а также программировании, и вы будете способны собрать прибор не только для себя, но и открыть свой бизнес по продаже нового технологичного продукта придуманного и запатентованного вами.
Базовые платы Ардуино стоят достаточно дешево, чтобы каждый мог позволить себе попробовать собрать свое устройство. Сам sr501 и вовсе стоит около ста рублей.
Как работает PIR датчик движения?
Если вы не знали, все объекты с температурой выше абсолютного нуля (0 Кельвинов / -273,15°C), включая человеческие тела, испускают тепловую энергию в виде инфракрасного излучения. Чем горячее объект, тем большее излучение он излучает.
PIR датчик разработан специально для обнаружения таких уровней инфракрасного излучения. В основном он состоит из двух основных составляющих: пироэлектрического датчика и специальной линзы, называемой линзой Френеля, которая фокусирует инфракрасные сигналы на пироэлектрический датчик.
Рисунок 2 – PIR датчик, пироэлектрический датчик, два слота обнаружения
Пироэлектрический датчик на самом деле имеет две прямоугольные прорези, выполненные из материала, который пропускает инфракрасное излучение. За ними находятся два отдельных инфракрасных сенсорных электрода: один из которых отвечает за создание положительного выходного сигнала, а другой – отрицательного. Причина такого решения заключается в том, что мы ищем изменение инфракрасных уровней, а не сами окружающие инфракрасные уровни. Два электрода подключены так, чтобы они подавляли друг друга. Если одна половина видит больше или меньше инфракрасного излучения, чем другая, выходной сигнал будет высоким или низким.
Когда датчик находится в режиме ожидания (то есть вокруг датчика нет движения), оба слота обнаруживают одинаковое количество инфракрасного излучения, что приводит к нулевому выходному сигналу.
Но когда мимо проходит теплый объект, подобный человеку или животному; сначала он перекрывает одну половину PIR датчика, что вызывает появление положительного дифференциального изменения между двумя половинами. Когда теплый объект покидает чувствительную область, происходит обратное, в результате чего датчик генерирует отрицательное дифференциальное изменение. Соответствующий импульс сигналов приводит к тому, что датчик устанавливает на выходном выводе высокий логический уровень.
Рисунок 3 – Принцип действия PIR датчика
Линза
Над датчиком установлена линза (прозрачная для ИК-излучения):
Она фокусирует ИК-излучение с нужных направлений на датчик. Может отличаться цветом материала (прозрачный, чёрный, …) или формой:
Модули HC-SR501 не являются узкоспециализированными и у них зона обнаружения — это конус:
Т.к и сами датчики и линзы могут отличаться, углы обзора тоже могут быть разные. Скорей всего угля будут в пределах 90-140 градусов.
Максимальная дальность обнаружения движущихся объектов составляет несколько метров, но всё будет зависеть от размеров объектов, их температуры, настроенной чувствительности датчика и линз (угол обзора больше, дальность будет меньше и наоборот).
Пример №2: HC-SR501 добавление фоторезистора
Необходимые детали:► Датчика движения HC-SR501 x 1 шт.► Модуль реле (1-но канальный) x 1 шт.► Транзистор 2SC1213 x 1 шт.► Лампа на 220V (75W) с патроном x 1 шт.► Источник питания на 5V x 1 шт.► Фоторезистор x 1 шт.► Провод DuPont, 2,54 мм, 20 см, F-M (Female — Male) x 1 шт.
Подключение:В следующим примере используем туже схему, что и примере №1, только добавили фоторезистор. Место для установки фоторезистора расположено рядом с выходным разъемом, обозначение на плате как «RL». Можно припаять напрямую на плату или воспользоватся штыревым разъемом, для удобного подключения Dupont провода. Главное, чтобы фоторезистор не был закрыт от естественного освещения комнаты, а так же был защищен от света лампы, которую используем как нагрузку. На рисунке ниже показано, куда устанавливать фоторезистор.
Как только установили фоторезистор, включите схему и немного подождите, пока датчик HC-SR501 от калибруется. Если все правильно подключено (и в помещении включен свет), ничего не произойдет, фоторезистор предотвращает запуск HC-SR501 при освещенной комнаты. Теперь выключим свет и HC-SR501 будет запускаться всякий раз, когда он замечает активность.
Принципиальная схема
На рисунке 1 показана простейшая схема сигнализации. Питание от любого источника постоянного тока напряжением 12V, способного обеспечить работу сирены F1. Сирена F1 — электронная сирена, предназначенная для автомобильных сигнализаций.
Рис. 1. Принципиальная схема включения сигнализации с применением датчика движения HC-SR501.
Переменным резистором установки длительности импульса, расположенным на плате датчика движения, нужно установить продолжительность звучания сирены после срабатывания. Работает эта схема следующим образом.
Чтобы поставить на охрану включаем S1. Питание поступает на датчик движения и он в течение 30-40 секунд не реагирует на движения. В это время уходим из помещения, закрываем дверь. Через 30-40 секунд после включения датчик движения выходит в рабочий режим.
Если теперь войти, на выходе датчика появится напряжение 3,ЗV. Оно поступает через R1 на базу транзистора VТ1. Но не сразу, потому что в схеме есть конденсатор С1, он задерживает рост напряжения на базе транзистора VТ1.
Это напряжение достигает критической величины через несколько секунд. Потом транзисторы VТ1 и VТ2 открываются и включают сирену F1, которая звучит столько времени, сколько установлено подстроечным резистором на плате датчика движения.
Цепь R1-C1 дает задержку включения сирены в несколько секунд, эта задержка нужна чтобы можно было войти в помещение и отключить сигнализацию скрыто расположенным выключателем S1. Если нужно чтобы сирена включалась без задержки — удалите конденсатор С1.
На рисунке 2 показана схема простейшего охранного устройства с вызовом посредством сотового телефона. Нужен старый, простой, кнопочный сотовый телефон с гарнитурой и возможностью вызова по введенному в память номеру нажатием кнопки гарнитуры (или звонка по последнему номеру нажатием кнопки гарнитуры). Этому требованию отвечают многие кнопочные сотовые телефоны, например, Samsung-GT-E212, FLY-DS105, Phillips-1500 и многие другие (Л.1).
В сотовый телефон, находящийся на охране вносят единственный номер, по которому он будет звонить. А канал электронного ключа на микросхеме D1 подключают параллельно кнопке гарнитуры этого сотового телефона.
При срабатывании датчика движения логическая единица с его выхода поступает на управляющий вход ключа микросхемы D1, её ключ открывается и работает как нажатие кнопки гарнитуры. Телефон звонит по заранее введенному в его память номеру. Получив на свой телефон вызов с его номера вы понимаете что датчик сработал.
Налаживание сводится к регулировке длительности импульса на выходе датчика движения (имеющимся на его плате подстроечным резистором) так, чтобы продолжительность «нажатия» кнопки гарнитуры была достаточной, для того чтобы телефон, к которому подключена эта гарнитура, стал набирать номер. Источником питания микросхемы D1 и датчика движения служит зарядное устройство сотового телефона, к которому подключена эта гарнитура.
Things to consider when designing a PIR sensor system
Just like other PIR sensors, the HC-SR501 needs some time to initialize and adjust to the infrared levels in the room. This takes approximately 1 minute when it is first powered up. Try to eliminate any motion in front of the sensor during this period.
Wind and a light source close to the sensor can cause interference, so try to adjust your setup to avoid this. Also, note that you must mount the sensor horizontally since most motion will happen in the horizontal plane (e.g. walking).
Besides the delay-time (Tx), the sensor also has a ‘blocking-time’ (Ti). By default, the blocking time is 2.5 seconds and it is not very easy to change (see BISS0001 datasheet). Each time the output goes from HIGH to LOW, the blocking period start. During this time period, the sensor will not detect any motion.
When designing a system based on the HC-SR501, you will need to take these delay periods into account.
HC-SR501 PIR motion sensor with Arduino UNO example code
With the following example code, you can read out the sensor and control the on-board LED of the Arduino (connected to pin 13). This code can also be used to control simple relays to turn a bigger light on or off.
You can upload the example code with the Arduino IDE.
For this code to work properly, it is best to set the trigger mode jumper to ‘H’ (repeat trigger mode). Also adjust the time-delay potentiometer to the lowest value. Turn it counterclockwise as far as it will go.
The code will read the state of the sensor (HIGH or LOW) and turn on or off the on-board LED accordingly. It will also print a message to the Serial Monitor, which you can access under Tools or type (Ctrl+Shift+M).
/* Example code for HC-SR501 PIR motion sensor with Arduino. More info: www.www.makerguides.com */ // Define connection pins: #define pirPin 2 #define ledPin 13 // Create variables: int val = 0; bool motionState = false; // We start with no motion detected. void setup() { // Configure the pins as input or output: pinMode(ledPin, OUTPUT); pinMode(pirPin, INPUT); // Begin serial communication at a baud rate of 9600: Serial.begin(9600); } void loop() { // Read out the pirPin and store as val: val = digitalRead(pirPin); // If motion is detected (pirPin = HIGH), do the following: if (val == HIGH) { digitalWrite(ledPin, HIGH); // Turn on the on-board LED. // Change the motion state to true (motion detected): if (motionState == false) { Serial.println("Motion detected!"); motionState = true; } } // If no motion is detected (pirPin = LOW), do the following: else { digitalWrite(ledPin, LOW); // Turn off the on-board LED. // Change the motion state to false (no motion): if (motionState == true) { Serial.println("Motion ended!"); motionState = false; } } }
You should see the following output in the serial monitor:
PIR Sensor output on serial monitor
Code explanation:
The code is quite simple and you don’t need any Arduino libraries to use this sensor.
The sketch starts with defining the PIR sensor pin and LED pin. I connected them to Arduino pin 2 and 13 (on-board LED).
The statement is used to give a name to a constant value. The compiler will replace any references to this constant with the defined value when the program is compiled. So everywhere you mention , the compiler will replace it with the value 2 when the program is compiled.
I also created two variables, and , which are an integer and boolean (true/false) respectively. The variable is used to store the output of the PIR sensor (HIGH or LOW) and will turn to true while motion is detected and to false when there is no motion.
// Define connection pins: #define pirPin 2 #define ledPin 13 // Create variables: int val = 0; bool motionState = false; // We start with no motion detected.
In the , we set the pins as input or output with the function . The pirPin is an input and the ledPin is an output. We also begin serial communication at a baud rate of 9600. Make sure that the Serial Monitor is also set to 9600.
void setup() { // Configure the pins as input or output: pinMode(ledPin, OUTPUT); pinMode(pirPin, INPUT); // Begin serial communication at a baud rate of 9600: Serial.begin(9600); }
In the , I first read out the sensor with the function . This function returns HIGH or LOW.
// Read out the pirPin and store as val: val = digitalRead(pirPin);
When the sensor output/val is HIGH, I turn the LED on with the function .
// If motion is detected (pirPin = HIGH), do the following: if (val == HIGH) { digitalWrite(ledPin, HIGH); // Turn on the on-board LED. // Change the motion state to true (motion detected): if (motionState == false) { Serial.println("Motion detected!"); motionState = true; } }
Next, the motionState is changed to true and the message ‘Motion detected!’ is printed to the Serial Monitor. Note that I first check the current motionState, this makes sure that the message is only printed once per motion event.
If there is no longer motion in front of the sensor, will change to LOW and the LED is turned off and the message ‘Motion ended!’ is printed to the serial monitor.
Пример №1: HC-SR501 как самостоятельное устройство.
Необходимые детали:► Датчика движения HC-SR501 x 1 шт.► Модуль реле (1-но канальный) x 1 шт.► Транзистор 2SC1213 x 1 шт.► Лампа на 220V (75W) с патроном x 1 шт.► Источник питания на 5V x 1 шт.► Провод DuPont, 2,54 мм, 20 см, F-M (Female — Male) x 1 шт.
Подключение:
При включение HC-SR501 требуется калибровка, занимает от 30 до 60 секунд, так-же датчик имеет период «перезагрузки» около 6 секунд (после срабатывания), за это время он не реагирует на движения. В этом примере используем HC-SR501 и модуль реле (1-но канальный), а так же NPN транзистор (в примере используется 2SC1213). Питание датчика HC-SR501 осуществляется от 5 В, поскольку, это же питание требуется и реле, а в качестве нагрузки используется лампа на 220В. Так-как выходной сигнал HC-SR501 слабый (на практике хватает только чтобы зажечь светодиод), один из вариантов, можно применить любой биполярный NPN транзистор.
Внимание! Соблюдайте технику безопасность и будьте аккуратно!
Работа этой схемы очень проста, после включения и калибровка, датчик начинает считывать показания. При обнаружении движения, датчик меняет значение на выводе «OUT».
HC-SR501 PIR Motion Sensor
The HC-SR501 PIR motion sensor is built around the BISS0001 Micro Power PIR Motion Detector IC. This IC is specifically developed to process the signal from PIR motion sensors.
If you remove the fresnel lens, you will see the RE200B pyroelectric sensing element. On the PCB you can also find a built-in voltage regulator. This means you can power the board with a large DC voltage range, typically 5 V is used.
The specifications of the HC-SR501 are given in the table below, note that there might be small differences between manufacturers.
HC-SR501 Specifications
Operating voltage | 4.5 – 20 V |
Quiescent current | 50 μA |
Level output | HIGH 3.3 V / LOW 0 V |
Trigger | L single trigger / H repeating trigger |
Delay time | 3 – 300 s |
Blocking time | 2.5 s (default) |
Trigger | L single trigger / H repeating trigger |
Measuring range | 3 – 7 m maximum |
2 mm | |
Measuring angle | < 110° cone angle |
PCB dimensions | 32.5 x 24 mm |
Mounting holes | 2 mm, 28.5 mm spacing |
Fresnel lens dimensions | 15 mm x 23 mm diameter |
Operating temperature | -15 – 70 °C |
Cost | Check price |
For more information, you can check out the datasheets below:
HC-SR501 Datasheet
BISS0001 Datasheet
RE200B Datasheet
Adjusting the HC-SR501
On the back of the board you will find two potentiometers and a jumper, which you can use to adjust several parameters:
Sensitivity (range) adjustment
The HC-SR501 has a maximum sensing distance (detection range) of 7 meters. You can adjust the sensing distance by rotating the sensitivity potentiometer CW or CCW (see picture above). Rotating the potentiometer clockwise increases the sensing distance to a maximum of 7 meters. Rotating it counterclockwise decreases the sensing distance to a minimum of 3 meters.
Time-delay adjustment (Tx)
This potentiometer can be used to adjust the time that the output stays HIGH for after motion is detected. At a minimum, the delay is 3 seconds and at a maximum, it is 300 seconds or 5 minutes. Turn the potentiometer clockwise to increase the delay and counterclockwise to decrease the delay.
Trigger selection jumper
The (yellow) jumper can be used to select one of the two trigger modes. It can be set to either L (single trigger) or H (repeating trigger):
- Single trigger – The output will turn HIGH as soon as motion is detected. It will stay HIGH for the time set by the potentiometer. Any movement during this period is not processed and does not restart the timer.
- Repeating trigger – Every time motion is detected, the delay timer is restarted.
The difference between the single and repeating trigger mode is shown in the figure below.
Difference between single and repeating trigger mode. The arrows indicate the set delay-time.
Adding a thermistor and/or LDR to the HC-SR501
As can be seen in the image below, the HC-SR501 has solder pads for two additional components. These pads are typically labeled ‘RL’ and ‘RT’.
- RL – Here you can add a light dependent resistor (LDR) or photoresistor which has a low resistance under strong ambient light. This causes the detector to be operational only when the detection area is sufficiently dark.
- RT – This pad is meant for a thermistor. Adding this makes the sensitivity of the sensor less dependent on the ambient temperature
Unfortunately, no additional information is provided in the datasheets, so I am not entirely sure about what component values you should use.
Схема более сложной сигнализации
На рисунке 3 показана схема более сложной сигнализации, в которой есть светодиодная индикация и наборная кодовая клавиатура. Впрочем, это тоже очень простая схема, и отличается она от схемы на рисунке 1 только тем, что есть кодовый замок — выключатель питания датчика движения.
Кодовый замок по аналогичной схеме был неоднократно описан на страницах этого и других изданий. Это простой не программируемый кодовый замок, в котором код задается схемой пайки кнопок, а кнопки кодового числа нужно нажимать одновременно. В его основе RS-триггер на микросхеме D1.
Напряжение с выхода триггера (с выхода логического элемента D1.3) поступает через резистор R7 на базу транзистора VТ4. Если на выходе D1.3 логическая единица, то транзисторы VТ3 и VТ4 открываются и через транзистор VТ3 подается питание на датчик движения. Если же на выходе D1.3 ноль, то эти транзисторы закрываются и питание датчика движения выключается.
Светодиод HL1 служит индикатором включенного состояния датчика движения, то есть, индикатором включенной сигнализации («под охраной»). Клавиатура расположена снаружи помещения. Она состоит из десяти кнопок с номерами от «О» до «9».
Можно использовать кнопки для домофонов. Они достаточно прочные и на них есть цифры. Но, можно и обычные тумблерные замыкающие кнопки, просто, на панели, на которой они будут расположены, нужно будет выгравировать, или нанести другим способом, цифры от 0 до 9.
Рис. 3. Схема самодельной охранной сигнализации на основе датчика HC-SR501.
Так как кнопки нужно нажимать одновременно, удобнее всего код сделать из трех цифр, — и нажимать удобно тремя пальцами, и секретность достаточная. Все кнопки, номера которых входят в кодовое число нужно включить последовательно. Это кнопки S1-S3 на схеме. При их одновременном нажатии на вывод 2 D1.1 поступает логическая единица от источника питания.
RS-триггер переключается в положение с нулем на выходе D1.3. Датчик движения выключается и, соответственно, сигнализация перестает работать. Все остальные кнопки, которые не входят в кодовое число, соединяют параллельно. Это кнопки S4-S10 на схеме.
При нажатии любой из них, или нескольких из них, на вывод 6 D1.2 поступает логическая единица от источника питания. Если триггер не в состоянии с единицей на выходе D1.3, то он в это состояние переключается. Если уже в таком состоянии, то так и остается. А конденсатор С1 при этом разряжается через кнопки S4-S10.
И потом, после того как они все выключаются, начинает заряжаться через R10. Пока он заряжается даже правильный набор кода не выключит сигнализацию. Этим обеспечивается защита от подбора кода. Выключатель S11 служит для полного выключения сигнализации. Его может и не быть в схеме.
Коленышев Д. С. РК-09-17.
Литература: 1. Лыжин Р. — Занимательные опыты со старым Самсунгом. РК-02-16.
Как работает инфракрасный детектор движения?
Инфракрасный датчик движения hc sr501 фиксирует тепловое излучение при помощи, установленной на него линзы Френеля. Она фокусирует излучение на пироэлектрический датчик прибора.
Подключается прибор с осветительным прибором, с расчетом на то чтобы его зона детекции совпадала с необходимостью включения света для человека именно в этой зоне. Лучше всего модель 501, как и собрат, датчик движения hc sr505 показывает себя для освещения лестничных клеток.
Включение лампы при достижении человеком этажа, и выключая ее, как только он скрывается из виду, дает заметную экономию электроэнергии. В результате установки таких приборов на каждом этаже во всем доме, ежемесячная экономия, достигая внушительных сумм.
У инфракрасного чувствительного элемента есть ряд неоспоримых плюсов и минусов.
Плюсы:
- дешевизна технологии;
- безвредна для человека;
- обладает достаточно высокой дальностью обнаружения.
Минусы:
- высокая чувствительность на влияние погоды;
- возможность обмануть устройство.
Если провести более углубленный анализ прибора, то спектр его применение окажется намного шире, чем ответ за электроэнергию в подъезде. Если подключим устройство к автоматической двери, то прибор будет открывать и закрывать ее по приближению и удалению человека. Знакомо? Именно так и работают двери во всех торговых центрах. Детекторы определяют, когда дверям открываться.
Итог
Инфракрасный hc sr501 доступен для заказа в любую точку планеты. Он создан для того чтобы человек мог собрать с ним что-то свое. Создать регулировку света можно и без всяких баз Ардуино использую только конкретную модель датчика и подручные средства. Спаять реле можно и без всякого программирования, сведя настройку к заданным линиям на плате. Питание прибора также осуществляется на ваш выбор, хоть батарейкой хоть подключением к постоянному источнику питания.
Выход такого элементарного сигнализатора, не нуждающегося в корпусе и производителе, позволяет получать доступ к передовым технологиям каждому человеку. И осуществлять их использование по своему разумению за максимально низкую цену.
Именно так однажды и появились все современные модели популярных собранных детекторов всех мастей. По факту же они отличаются от этого базового элемента (sr501) только наличием корпуса, и идущим в комплекте кронштейном с гайками.