Подключение, калибровка и программирование PIR-датчика HC‑SR501 с Raspberry Pi
Содержание
- Принцип работы HC‑SR501
- Настройка чувствительности и задержки
- Схема подключения и проводка
- Python-код для чтения событий движения
- Пример вывода и дальнейшие шаги
Все живые существа излучают инфракрасное излучение, невидимое глазу. Пассивный инфракрасный (PIR) датчик, такой как HC‑SR501, фиксирует малейшие изменения температуры, вызванные движущимися объектами, и выдаёт цифровой сигнал. HC‑SR501 использует два пироэлектрических элемента и дифференциальную схему для подавления ложных срабатываний из-за колебаний окружающей температуры, что делает его идеальным для проектов безопасности и автоматизации.
Подключение HC‑SR501 к Raspberry Pi простое: выход датчика выдаёт 3,3 В TTL, а питание можно взять непосредственно с 5-вольтовой шины Pi.
Модуль имеет три вывода:
- Vcc — 4,5–20 В, вход питания
- OUTPUT — 0 В (LOW) / 3,3 В (HIGH)
- GND — земля
Принцип работы HC‑SR501

Прямоугольное окно датчика содержит два инфракрасных элемента на противоположных концах. Когда теплоизлучающий объект движется через зону обзора, время регистрации изменения температуры каждым элементом различается. Чем больше эта разница, тем выше чувствительность. Фрезелевская линза концентрирует ИК-лучи на элементах, а внутренний фильтр блокирует не-ИК длины волн, повышая точность.
Настройка чувствительности и задержки
- Задержка срабатывания (0,3 с – 600 с): поворачивайте потенциометр по часовой стрелке для увеличения, против — для уменьшения.
- Дальность обнаружения (3–7 м): по часовой стрелке — увеличение, против — уменьшение.
Схема подключения и проводка

Подключите датчик следующим образом:
- Vcc к пину 2 (5 V)
- OUTPUT к пину 26 (GPIO 19)
- GND к пину 6 (земля)
Проверьте номера пинов, если используете нумерацию BCM; GPIO 19 соответствует пину 26 на 40-пиновом разъёме.
Python-код для чтения событий движения
Перед запуском установите библиотеку RPi.GPIO, если она ещё не установлена:
sudo apt-get install python3-rpi.gpio
Создайте файл pir_motion.py со следующим содержимым:
#!/usr/bin/env python3
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD) # Используем физическую нумерацию пинов
pir_pin = 26 # Пин 26 (GPIO 19) подключен к выходу датчика
GPIO.setup(pir_pin, GPIO.IN)
print("Ожидание стабилизации датчика…")
time.sleep(2) # Даём датчику время на стабилизацию
print("Обнаружение движения…")
try:
while True:
if GPIO.input(pir_pin): # Выход датчика HIGH
print("Движение обнаружено!")
time.sleep(2) # Антидребезг для предотвращения множественных срабатываний
time.sleep(0.1) # Небольшая пауза в цикле
except KeyboardInterrupt:
print("Выход…")
finally:
GPIO.cleanup()
Запустите скрипт командой python3 pir_motion.py. В консоли будет появляться сообщение «Движение обнаружено!» при каждом срабатывании датчика.
Пример вывода и дальнейшие шаги
При правильной сборке и запуске в терминале вы увидите примерно следующее:
Ожидание стабилизации датчика…
Обнаружение движения…
Движение обнаружено!
Движение обнаружено!
...
На этом можно не останавливаться: расширьте программу для включения сирены, съёмки фото камерой, записи событий в файл или базу данных. HC‑SR501 — надёжный, недорогой компонент для широкого круга задач автоматизации и безопасности.
Подробнее о продвинутом использовании PIR-датчиков, методах калибровки и интеграции с платформами умного дома — на нашей странице Advanced PIR Usage.
Производственный процесс
- Подключение нескольких DS18B20 1-Wire датчиков к Raspberry Pi для точного мониторинга температуры
- Точный мониторинг температуры в серверной на Raspberry Pi
- Как подключить однопроводный датчик температуры DS1820 к Raspberry Pi через GPIO
- Интеграция данных сенсоров в Raspberry Pi: практическое руководство
- Подключение ультразвукового датчика HC‑SR04 к Raspberry Pi 3 — полное руководство
- Датчик слежения за линией на Raspberry Pi — простой детектор двери/линии KY‑033
- Надёжный домашний мониторинг с Home Assistant на Raspberry Pi: движение, алермы и видеозахват
- Построение DIY инфракрасного датчика движения для Raspberry Pi — пошаговое руководство
- Управление светодиодом с PIR-датчиком движения на Raspberry Pi
- Построение низкобюджетного датчика влажности почвы на Raspberry Pi для умного полива