ESP32 CAM运行Micropython时Pin.IN始终读取值为1,PIR传感器无法正常工作
ESP32-CAM Micropython环境下PIR传感器读取异常解决思路
- 补充引脚上下拉配置
你当前的测试代码未配置输入引脚的上下拉状态,浮空输入的电平受硬件电路影响会出现固定高/低的情况,无法正确响应外部输入信号。根据你使用的PIR触发类型修改初始化代码即可:
如果是高电平触发的PIR,配置下拉电阻:
pir = Pin(15, Pin.IN, Pin.PULL_DOWN)
如果是低电平触发的PIR,配置上拉电阻:
pir = Pin(15, Pin.IN, Pin.PULL_UP)
- 避开摄像头占用引脚
你测试的GPIO4、12、13、14、15均为你所用Micropython摄像头固件默认分配给摄像头的通信引脚,已被外设占用无法作为普通输入引脚使用,自然无法读取到PIR的电平变化。你可以更换为固件预留的空闲IO,比如GPIO2、GPIO16,若不需要使用SD卡功能也可复用SD卡相关引脚。 - 确认硬件接线正确性
必须保证PIR模块与ESP32-CAM共地,否则会出现电平识别异常;若你的PIR是5V供电版本,需要确认其输出电平兼容3.3V,避免烧毁ESP32引脚。 - 先验证引脚输入功能
选定空闲引脚后,先不接PIR,单独测试引脚的输入功能是否正常:配置好上下拉后,手动将引脚接GND/3.3V,确认打印的电平值能对应变化,再接入PIR进行调试。
内容的提问来源于stack exchange,提问作者broke student
相关产品推荐
相关产品推荐

