8浏览
查看: 8|回复: 0

[ESP8266/ESP32] ESP32C5+C4002 智能红外学习灯控

[复制链接]
本帖最后由 腿毛利小五郎 于 2026-6-14 23:32 编辑

智能红外学习灯控
ESP32-C5 红外学习 + C4002 毫米波雷达智能灯控

项目背景
    夜晚给孩子换尿布开夜灯总是找不到遥控器,夜灯放在床头,又过于刺眼。
    需求产生:夜灯能不能在需要的时候自动点亮呢?
                使用传统的热释电红外检测(能检测有没有人)产品定位不符合场景,用摄像头识别算法有些大材小用且可能存在隐私问题,用声控会吓到娃娃,用超声波限制太大......
                恰好在某站看到有一个stm32的万能遥控项目,又恰巧申请到了C4002毫米波人体存在传感器( 可实现10×10米内人体存在/运动/静止与微动的全状态检测,具备底噪采集与抗干扰能力,兼容Arduino/ESP32/树莓派/Home Assistant)
                智能红外学习灯控
                原本想用比较迷你的esp32C6做主控,但是它已经成了我桌面的台灯的主控,那就用C5吧,同样主频都很高,且都支持硬件RMT,比stm32做主控性能更强,可玩度更高,而且C5的拓展板真的很好用。

功能说明
功能
说明
红外学习使用 RMT 硬件捕获任意红外遥控器信号,存入 Flash
红外发射38kHz 硬件载波调制,精确还原原始波形
雷达人体检测C4002 毫米波雷达,检测运动/静止存在/无人
自动灯控有人运动→开灯,静止超时→关灯,防抖+阶梯重发
双槽位存储同时存储「开灯」「关灯」两个红外信号

硬件
硬件的细致参数介绍,论坛官方均能找到,不再格外附上

esp32 C5

红外接收管
ESP32C5+C4002 智能红外学习灯控图1

红外发射管
ESP32C5+C4002 智能红外学习灯控图3

红外小夜灯
某音,某宝都有,开关键是分开的最好
ESP32C5+C4002 智能红外学习灯控图4

其他
附图,略

接线说明
接线比较简单直接参考下表即可
元件
型号
引脚
主控ESP32-C5
红外接收HS0038(注意区分引脚)GPIO3
红外发射5mm IR LED + 100Ω (电阻可不加)GPIO2
毫米波雷达DFRobot C4002 (SEN0691)(我这里3V3供电的)GPIO11(TX), GPIO12(RX)
按钮轻触开关GPIO28 → GND
状态LED5mm LED + 220ΩGPIO9

按钮操作
操作
时长
行为
短按<0.8s学习(空)/发射(已学)
双击快速×2切换 [开灯]↔[关灯]
长按1.5~5s进/出雷达自动模式
超长按>5s(空闲)强制重学当前槽位
超长按>5s(雷达)重新环境校准

雷达状态机
IDLE → 检测变化 → DEBOUNCE(3s) → 确认
  → MIN_TIME(开灯30s/关灯5s) → 状态不变 → RETRANSMIT(阶梯重发)
  → 期间状态翻转 → 防抖→发送→回到MIN_TIME

配置参数 (config.h)
STATE_DEBOUNCE_SEC   = 3    // 状态防抖确认(秒)
MIN_ON_TIME_SEC      = 30   // 最少开灯时间(秒)
MIN_OFF_TIME_SEC     = 5    // 最少关灯时间(秒)
RETRANSMIT_INTERVALS_SEC[]  // 阶梯重发间隔: 30,60,120,300,600
DEBUG_C4002                 // 取消注释打开雷达调试日志
DEBUG_IR                    // 取消注释打开红外调试日志

目录结构
万能红外-智能灯控/
  config.h                 # 全局配置(引脚/时序/参数/枚举)
  ir_handler.h / .cpp      # RMT红外捕获+38kHz载波发射+NVS存储
  radar_handler.h / .cpp   # C4002雷达封装+防抖
  state_machine.h / .cpp   # 按钮事件+状态机
  smart_ir_controller.ino  # 主程序(setup/loop)

编译
  • Arduino IDE: 开发板选 ESP32C5 Dev Module,USB CDC On Boot → Enabled
  • 依赖库: DFRobot_C4002
  • C5的esp库版本一定要是3.3.0-alpha1-cn,其对应的开发板管理地址,可以参考社区其他 大佬的C5开箱贴
    https://github.com/espressif/arduino-esp32/releases/download/3.3.0-alpha1/package_esp32_dev_index_cn.json
ESP32C5+C4002 智能红外学习灯控图2

演示视频



源码附件
下载附件万能红外-智能灯控.rar









您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2026 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail