掌握树莓派 GPIO:在 B+/Model 2 上接入 PIR 运动传感器
在本分步指南中,你将学习如何将无源红外 (PIR) 运动传感器连接到树莓派 B+/Model 2,并编程 GPIO 引脚检测运动并触发动作。无论你构建家庭自动化、安防报警还是简单机器人,掌握 GPIO 都是关键。
所需材料
- 树莓派 B+、B 或 Model 2,含 microSD 卡、电源、键盘、鼠标、显示器。
- LED(任意颜色)和 220 Ω 电阻。
- PIR 运动传感器(5V 输出)。
- 面包板和跳线(公对公、母对公)。
树莓派 GPIO 工作原理
树莓派 GPIO 引脚可通过 RPi.GPIO 等 Python 库访问。每个引脚有物理引脚号 (BOARD) 和 Broadcom 芯片引脚号 (BCM) 两种编号。本教程为清晰起见采用 BOARD 编号。
关于 PIR 传感器
PIR 传感器检测温暖物体发出的红外辐射。它由菲涅尔透镜、红外探测器和控制电路组成。感应到红外变化时,输出 5V 逻辑 HIGH,持续长达一分钟。典型检测范围 6–7 米。
步骤 1:用 GPIO 输出点亮 LED
先练习控制输出引脚让 LED 闪烁。LED 阳极经 220 Ω 电阻接引脚 3,阴极接地引脚。
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 接 5V,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('Ready – waiting for motion…')
try:
while True:
if GPIO.input(7):
print('Intruder detected!')
# 此处添加自定义动作(如点亮 LED、发送警报)
time.sleep(0.5)
except KeyboardInterrupt:
print('Exiting…')
finally:
GPIO.cleanup()
用 sudo python3 pir_detect.py 运行,观察控制台运动报告。
后续扩展
可在此基础上扩展:检测到运动时闪烁 LED、将时间戳记录到文件、或通过 MQTT 发送通知。初学者推荐下载我们的免费电子书《树莓派与 Arduino 入门》深化硬件技能。
参考资料
- 树莓派官方文档 — GPIO 概览:raspberrypi.org
- PIR 传感器数据手册 — 典型规格:Adafruit
制造工艺
- 树莓派 GPIO 直连 DS1820 单总线温度传感器指南
- 树莓派传感器数据融合实战:GPS 与 MPU‑9150 IMU 的 I²C 与 UART 接入
- 树莓派 3 接 HC‑SR04 超声波测距传感器完全指南
- 树莓派接 KY‑033 循迹/门状态传感器:简易 Python 实现
- 树莓派 Home Assistant 安全监控:PIR 运动检测、报警面板与视频抓拍
- 树莓派 DIY 红外运动传感器:从原理到代码的完整指南
- 树莓派 PIR 运动传感器控制 LED 实战指南
- 树莓派纯数字引脚实现低成本红外测距传感器:RC 计时法
- 树莓派盖革计数器 DIY:开源硬件辐射传感器教程
- 树莓派自动化气雾栽培系统:湿度传感器智能控制
- 树莓派光敏电阻教程:接线与 Python 读取光照强度
- 树莓派 + MCP9808 + InfluxDB + Grafana:家庭温度监测系统