Fix PIR input: float GPIO (no pull-down) and log raw level changes.

Internal pull-down could hold OUT low; default idle=LOW/active=HIGH and prefer 5V VCC.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-10-23 14:54:06 +08:00
parent a7854de87b
commit 6226f0dbc2
4 changed files with 50 additions and 28 deletions

View File

@@ -14,19 +14,23 @@ GPIO22 读人体红外(PIR)模块 OUT:每次检测到运动开始,屏幕
| 模块 | CYD |
|------|-----|
| VCC | **3.3V**(部分模块标 5V 时用 **5V**,以模块说明为准) |
| VCC | 优先 **5V**(HC-SR501 等大模块);仅明确标 3.3V 的小模块用 **3.3V** |
| GND | **GND** |
| OUT / S / DO | **GPIO22** |
开机自动采空闲电平,反相视为有人(兼容「有人变高」或「有人变低」)。
引脚用浮空 `INPUT`(无内部上/下拉)。默认空闲 LOW、有人 HIGH;开机若采样明显偏 HIGH 则自动反相。
屏上:
- `MOTION` / `IDLE`:当前是否感应到人
- `hold` + 进度条:本次连续有人时长(约 0~5s 满格)
- `OUT HIGH/LOW` 与 `act=`:原始电平与有效电平
- `OUT HIGH/LOW` 与 `act=`:原始电平与有效电平 —— **挥手时 OUT 应变,不变就是供电/接线问题**
上电校准的几秒内请勿在感应区活动,否则空闲电平会采错。
注意:
- 多数 PIR 上电后需 **约 30~60 秒** 预热才稳定
- 确认 OUT 接到 **GPIO22**(不是 21 背光),共地
- 模块有灵敏度/延时电位器时,灵敏度先拧到最大
## 操作