PIR 运动传感器集成
PIR 运动传感器集成
本节介绍如何将 PIR(Passive Infrared)运动传感器与 ESP32-CAM 集成,实现运动触发拍照。学习完成后,您将能够:
- 理解 PIR 传感器的工作原理和电路设计
- 通过 NPN 晶体管放大 PIR 信号
- 将 PIR 运动检测集成到 ESP32-CAM 电路
- 测试运动触发拍照功能
PIR 传感器原理
Section titled “PIR 传感器原理”PIR(被动红外)传感器检测人体发出的红外辐射变化:
┌─────────────────────────────────────────────────────────────┐│ PIR 传感器工作原理 │├─────────────────────────────────────────────────────────────┤│ ││ 人体 (37°C) ──→ 红外辐射 ──→ 菲涅尔透镜 ──→ 焦热电传感器 ││ ││ 当人体移动时: ││ 1. 红外辐射在传感器两个感应元上产生差值 ││ 2. 差值信号被内部 FET 放大器放大 ││ 3. 输出引脚 (OUT) 从 LOW 跳变到 HIGH ││ 4. 保持 HIGH 约 2-3 秒后恢复 LOW ││ │└─────────────────────────────────────────────────────────────┘常用 PIR 传感器模块:
| 型号 | 检测距离 | 检测角度 | 工作电压 | 输出电平 |
|---|---|---|---|---|
| HC-SR501 | 3-7 米 | <120° | DC 4.5-20V | 3.3V / 5V |
| HC-SR602 | 3-5 米 | <100° | DC 3-12V | 3.3V |
| AM312 | 3-5 米 | <130° | DC 2.7-12V | 3.3V |
| DYP-ME003 | 3-7 米 | <120° | DC 5-20V | 3.3V / 5V |
Circuit Design
Section titled “Circuit Design”基本接线(直接连接)
Section titled “基本接线(直接连接)”对于 3.3V 输出的 PIR 模块(如 AM312、HC-SR602),可直接连接 ESP32-CAM:
PIR 传感器 ESP32-CAM┌───────┐ ┌──────────┐│ VCC ├───────────┤ 3.3V ││ GND ├───────────┤ GND ││ OUT ├───────────┤ GPIO 13 │└───────┘ │ │ └──────────┘增强型电路(NPN 晶体管放大)
Section titled “增强型电路(NPN 晶体管放大)”对于输出信号较弱的 PIR 模块,或需要长距离布线时,使用 NPN 晶体管放大:
+3.3V │ ├──────────┐ │ │ ┌┴┐ │ │R1│ 10kΩ │ └┬┘ │ │ │PIR OUT ──── R2 ──────┼───── B │ 10kΩ │ | C (NPN Transistor, e.g. 2N2222) │ | E │ │ │ │ └───┤ │ │ │ ┌┴┐ │ │R3│ 1kΩ │ └┬┘ │ │ │ │ GND GND
ESP32-CAM GPIO 13 ←── C 极 (Collector) B 极 ←── PIR OUT (经过 R2) E 极 ←── GND说明: NPN 晶体管放大电路的输出电压接近 3.3V,确保 ESP32 GPIO 能可靠检测到 HIGH 电平。R1 为上拉电阻,R2 为基极限流电阻,R3 防止振荡。
HC-SR501 灵敏度调节
Section titled “HC-SR501 灵敏度调节”HC-SR501 模块上有两个电位器:
┌────────────────────────────────────────────────────────┐│ HC-SR501 调节 │├────────────────────────────────────────────────────────┤│ ││ 1. 灵敏度 (Sensitivity): 逆时针增大检测距离 ││ 范围: 3 米 (顺时针) → 7 米 (逆时针) ││ ││ 2. 延时 (Delay Time): 调节输出脉冲宽度 ││ 范围: 3 秒 (顺时针) → 300 秒 (逆时针) ││ ││ 3. 模式跳线: ││ H: 重复触发模式 (有人持续活动时持续输出 HIGH) ││ L: 单次触发模式 (输出一次 HIGH 后复位) ││ ││ ⚠️ 推荐配置: ││ 灵敏度: 中等 (4-5 米) ││ 延时: 最小 (3 秒) ││ 模式: H (重复触发) ││ │└────────────────────────────────────────────────────────┘PIR + ESP32-CAM 完整接线图
Section titled “PIR + ESP32-CAM 完整接线图” +5V (外部电源) │ ┌───────────┼──────────────────────┐ │ │ │ ┌─┴─┐ ┌──┴──┐ ┌──┴──┐ │PIR│ │FTDI│(仅烧录用) │ESP32│ │ │ │ │ │-CAM │ │VCC│─────┼────┤ │ │ │GND│─────┼────┤──────────────────┤GND │ │OUT│─────┼────┤──────────────────┤GPIO13 └───┘ └─────┘ │ │ │ VCC │ ←── +5V └─────┘
注意: - PIR 和 ESP32-CAM 共用 GND - 烧录时 GPIO 0 需接地,完成后断开 - 外接电源需能提供 500mA+ 稳定电流PIR 触发验证 Sketch
Section titled “PIR 触发验证 Sketch”// ESP32-CAM PIR 运动检测验证
#define PIR_PIN 13
void setup() { Serial.begin(115200); pinMode(PIR_PIN, INPUT); Serial.println("PIR Sensor Test - Waiting for motion..."); delay(5000); // PIR 稳定时间}
void loop() { int pirState = digitalRead(PIR_PIN);
if (pirState == HIGH) { Serial.println("Motion detected! " + String(millis())); delay(2000); // 防抖动 }
delay(100);}预期输出:
PIR Sensor Test - Waiting for motion...Motion detected! 17258Motion detected! 48921Customer Q&A: PIR 选型建议
Section titled “Customer Q&A: PIR 选型建议”| 场景 | 推荐传感器 | 原因 |
|---|---|---|
| 室内短距离(3-5米) | AM312 | 体积小,3.3V 直连,免放大 |
| 室内标准(5-7米) | HC-SR501 | 灵敏度可调,性价比高 |
| 走廊长距离 | HC-SR501 + 透镜 | 增加检测范围 |
| 室外防水 | 防水型 PIR | IP65 防护等级 |
| 电池供电 | AM312 | 功耗低(~50μA) |
✅ 推荐做法:
- PIR 模块启动后预留 30-60 秒稳定时间
- 使用 3.3V 输出的 PIR 模块免去放大电路
- PIR 与 ESP32 之间的连接线不超过 3 米
- 在软件中添加 1-2 秒防抖动延迟
- PIR 面朝远离热源/空调的方向安装
❌ 避免做法:
- PIR 直对窗户(日晒引起误触发)
- PIR 靠近空调出风口(气流引起误触发)
- 长距离(>5 米)未使用屏蔽线
- 5V 输出的 PIR 直接连接 3.3V 的 ESP32 GPIO
- 忘记预留 PIR 启动稳定时间
Summary
Section titled “Summary”- PIR 传感器通过检测人体的红外辐射变化触发输出
- HC-SR501 是最常用的 PIR 模块,灵敏度可调
- NPN 晶体管电路用于放大弱信号 PIR 的输出
- GPIO 13 是 ESP32 的 RTC 唤醒引脚,也是 PIR 的标准连接引脚
- 防抖动机制和稳定时间是可靠检测的关键