Мастерство GPIO Raspberry Pi: подключение PIR-датчика движения на B+/Model 2
В этом пошаговом руководстве вы научитесь подключать пассивный инфракрасный (PIR) датчик движения к Raspberry Pi B+/Model 2 и программировать GPIO-выводы для обнаружения движения и запуска действий. Независимо от того, строите ли вы систему умного дома, охранную сигнализацию или простого робота, освоение GPIO — ключевой навык.
Что понадобится
- Raspberry Pi B+, B или Model 2 с microSD, блоком питания, клавиатурой, мышью и дисплеем.
- Светодиод (любой цвет) и резистор 220 Ом.
- PIR-датчик движения (выход 5 В).
- Макетная плата и перемычки (male-male и female-male).
Как работает GPIO на Pi
GPIO-выводы Pi доступны через Python-библиотеки вроде RPi.GPIO. Каждый вывод нумеруется либо по физическому номеру (BOARD), либо по номеру чипа Broadcom (BCM). В этом туториале используем BOARD-нумерацию для наглядности.
О PIR-датчике
PIR-датчик обнаруживает инфракрасное излучение теплых тел. Состоит из линзы Френеля, ИК-детектора и управляющей схемы. При смене ИК-уровня выдает логическую единицу (5 В) до одной минуты. Типичный диапазон детекции 6–7 м.
Шаг 1: Мигание светодиодом через GPIO-выход
Сначала потренируйтесь управлять выходным выводом, мигая светодиодом. Соедините анод светодиода с выводом 3 через резистор 220 Ом, катод — с землей.
import RPi.GPIO as GPIO
import time
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(3, GPIO.OUT) # Вывод 3 как выход
while True:
GPIO.output(3, GPIO.HIGH)
time.sleep(1)
GPIO.output(3, GPIO.LOW)
time.sleep(1)
Сохраните как ledblink.py и запустите sudo python3 ledblink.py.
Шаг 2: Чтение PIR-датчика и реакция
Подключите PIR: VCC к 5 В, GND к земле, OUT к выводу 7 (GPIO 4). Теперь создайте скрипт, печатающий сообщение при обнаружении движения.
import RPi.GPIO as GPIO
import time
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.IN) # Выход PIR как вход
print('Готово – ждем движения…')
try:
while True:
if GPIO.input(7):
print('Вторжение обнаружено!')
# Добавьте свое действие здесь (например, включите светодиод, отправьте алерт)
time.sleep(0.5)
except KeyboardInterrupt:
print('Выход…')
finally:
GPIO.cleanup()
Запустите sudo python3 pir_detect.py и следите за консолью при срабатывании датчика.
Дальнейшие шаги
Отсюда можно расширить проект: мигать светодиодом при движении, логировать временные метки в файл, отправлять уведомление через MQTT. Новичкам рекомендуем скачать нашу бесплатную книгу по Raspberry Pi и Arduino для углубления навыков работы с железом.
Ссылки
- Официальная документация Raspberry Pi — обзор GPIO: raspberrypi.org
- Даташит PIR-датчика — типичные спецификации: Adafruit
Производственный процесс
- Как подключить однопроводный датчик температуры 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 с использованием только цифровых пинов
- Создание счетчика Гейгера на Raspberry Pi — туториал по открытому датчику радиации
- Создайте автоматизированную аэропоническую систему с Raspberry Pi и датчиком влажности