ESP32 人体存在检测AT581X 雷达 5 步跑通静止人体感应【免费下载链接】esp-iot-solutionEspressif IoT Library. IoT Device Drivers, Documentations and Solutions.项目地址: https://gitcode.com/GitHub_Trending/es/esp-iot-solutionESP-IoT-Solution 是乐鑫维护的 ESP32 生态组件仓库其中的 AT581X 驱动让你用 ESP32 就能搭出 24GHz 微波人体存在检测装置人走进房间、甚至原地站定ESP32 都能通过中断感知到。本文按接线 → 依赖 → 参数 → 调优 → 验证的路子带你把这个雷达跑起来并解释每个参数在什么现象下该往哪个方向拧。痛点人一站定灯就没了传统红外PIR感应是靠红外能量随时间变化来工作的。你在房间里走动时一切正常可一旦站定红外辐射进入平稳状态PIR 认为没人了——灯光在 1~2 分钟后熄灭安防系统也会解除布防。这正是人体感应和人体存在检测的区别前者只关心动没动后者要确认还在不在。对比维度传统红外PIR24GHz 微波雷达AT581X判定依据红外辐射的变化量多普勒回波信号人静止站立检测不到呼吸、心跳微动仍可触发检测距离一般几米内不可细调0.5–8 m 范围内可调待机功耗与器件相关约 70 μA70μA 功耗档常见误报源暖气、宠物走动强气流、邻近大功率干扰源把灯常灭、灯不亮这类体验问题根治靠的不是更灵敏的 PIR而是换一条感知链路——微波。方案AT581X 芯片干活ESP32 只管收信号AT581X 是一颗 24GHz 微波前端芯片内部完成发射、接收、回波比对和多普勒处理。人相对雷达静止时呼吸带来的胸腔起伏会让回波持续产生微小变化芯片因此不会把静止的人当成无人。分工很清晰AT581X 只输出一个判决结果触发/不触发ESP32 通过 I2C 总线从机地址 0x28写入 delta、gain 等寄存器完成调参再在 GPIO 上监听触发输出执行点灯、上报等业务逻辑。快速上手5 根线、1 份依赖、几行初始化AT581X 接线5 根线接到 ESP32以测试工程的默认引脚为例menuconfig里可随时改AT581X 引脚ESP32 引脚说明VCC3.3V供电GNDGND共地SDAGPIO41I2C 数据线SCLGPIO40I2C 时钟线OUTGPIO21触发输出接 GPIO 中断组件依赖与关键配置项目内驱动位于 components/sensors/radar/at581x/测试工程在 components/sensors/radar/at581x/test_apps/。idf_component.yml追加一行依赖即可dependencies: espressif/at581x: ^2.0.0三个 Kconfig 配置项配置项默认值作用I2C_MASTER_SCL40I2C 时钟脚I2C_MASTER_SDA41I2C 数据脚RADAR_OUTPUT21触发输出脚GPIO 中断初始化建总线 → 建雷达句柄 → 注册回调i2c_bus i2c_bus_create(I2C_NUM_0, i2c_bus_conf); // 100kHz at581x_i2c_config_t i2c_conf { .bus_inst i2c_bus, .i2c_addr AT581X_ADDRRES_0, // 0x28 .int_gpio_num RADAR_OUTPUT_IO, .interrupt_level 1, .interrupt_callback at581x_isr_callback, .def_conf def_cfg, // ATH581X_INITIALIZATION_CONFIG() }; at581x_new_sensor(i2c_conf, radar);调优距离、灵敏度与误报的三个旋钮驱动把最常用的参数收敛成三个旋钮按现象对号入座现象对应参数调法该检测的距离没触发delta0~1023值越大判定越严、有效距离越短要更远就调小回波偏弱、时灵时不灵gain逐级提高默认 AT581X_STAGE_GAIN_3过头会放大噪声窗帘晃动就误触发检测窗口增大window_length、提高window_threshold多数窗口命中才出触发触发一次后又很快重复触发protect_time触发后有一段保护时间内不再感知推荐 1000 msat581x_set_detect_window(radar, 4, 3); // 每次 4 个窗口命中 3 个才触发默认值场景灯光、安防与独居看护卧室灯触发沿到来立即点亮人坐下看书信号持续灯保持人离开后延时再灭。离家安防布防时段内任何触发都视为异常推送通知即可不需要摄像头。独居老人看护夜间长时间零触发本身就是信号可安排电话或 App 回访。这三类场景共用同一套前端差异全在 ESP32 侧的业务逻辑。功耗上AT581X 在 70μA 档位运行ESP32 配合深度睡眠RTC 定时器唤醒把均值压下来电池或 PoE 长期部署才有意义验证与排障先量电平再拧参数测试要点上电先等self_check_time默认 2000 ms自检期内不出结果。静态测试人站在 1 m 内静坐 1 分钟触发信号应持续不出现断触。距离扫描沿 0.5 m 到 8 m 逐步后退记录触发边界确认与目标场景匹配。常见问答Q上电后很久都没反应A还在自检窗口里。self_check_time默认 2 s改大或改小都要配合at581x_soft_reset才生效。Q人在但不触发A先看 OUT 脚电平有没有变化排除接线问题再按顺序试调小delta→ 提高gain。Q没人却偶尔触发A优先提高window_threshold其次加大protect_time让单次误触发不产生重复输出。写在最后ESP32 加 AT581X把人站住了灯就灭这类 PIR 的老毛病用 5 根线和几十个寄存器位换掉了。驱动源码与测试工程都放在 components/sensors/radar/at581x/ 里动手之前先读一遍 组件 README。【免费下载链接】esp-iot-solutionEspressif IoT Library. IoT Device Drivers, Documentations and Solutions.项目地址: https://gitcode.com/GitHub_Trending/es/esp-iot-solution创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考