1.硬件准备
(1)ESP32-CH3
(2)确保esp32已经烧录:MicroPython
(3)人体传感器,杜邦线
2.接线
人体传感器引脚 | ESP32-CH3 引脚 | 说明 |
---|---|---|
V | 3.3V | 传感器供电(勿接 5V,避免烧毁) |
G | GND | 共地 |
S | GPIO15 | 数字信号输入(任意 GPIO 均可) |
3.代码测试
from machine import Pin
import time
# 定义传感器连接的GPIO(对应ESP32的GPI15)
human_sensor = Pin(15, Pin.IN)
# 防抖处理(避免传感器瞬间抖动导致误判)
def read_human_state():
# 连续读取3次,若2次以上为高电平则判断为“有人”
state_list = []
for _ in range(3):
state = human_sensor.value()
state_list.append(state)
time.sleep_ms(50) # 每次读取间隔50ms
return 1 if state_list.count(1) >= 2 else 0
# 主循环:实时检测并打印状态
while True:
state = read_human_state()
if state == 1:
print("检测到有人")
# 可添加后续操作:如点亮LED、通过WiFi发送通知等
else:
print("未检测到人")
time.sleep(1) # 每秒检测一次
运行效果: