d5cfc30b3b97c011a865e0f9166f243614b0cd87
Presence uses ESPHome factory gates/timeout; OT1->GPIO22 RX->GPIO27; prebuilt bins under firmware/cyd_28r. Co-authored-by: Cursor <cursoragent@cursor.com>
CYD LD2420 雷达仪表盘
ESP32 Cheap Yellow Display(ESP32-2432S028R)+ HLK-LD2420 24GHz 毫米波雷达 + LVGL 仪表盘。
硬件
| 项目 | 说明 |
|---|---|
| 板子 | CYD ESP32-2432S028R(2.8" ILI9341) |
| 传感器 | HLK-LD2420 |
| OT1 | GPIO22(模块串口 TX → ESP RX,固件 ≥ v1.5.3) |
| RX | GPIO27(模块串口 RX → ESP TX) |
| 供电 | 3.3V / GND(与 CYD 共地) |
接线(固件 ≥ v1.5.3):
LD2420 3V3 → CYD 3.3V
LD2420 GND → CYD GND
LD2420 OT1 → GPIO22
LD2420 RX → GPIO27
旧固件(< v1.5.3)串口 TX 在 OT2,且默认波特率多为 256000。本工程会依次探测 115200 / 256000。
功能
- 横屏网格:距离圆弧 + 存在圆弧;底部左信息 / 右趋势图
- 显示 LD2420 固件版本(启动时进入配置模式读取
CMD 0x0000) - 存在逻辑:移动或静止检到 → 保持 ON;离开约 10s 后才 OFF(ESPHome 同款超时/门限)
- 检测门默认 1–12(约 0.7–8.4 m),出厂静止门限(能坐着不动也保持有人)
- 短按切换背光;长按 ≥0.7s 重置 min/max
构建与烧录
依赖 PlatformIO。
pio run -e cyd_28r -t upload
pio device monitor -b 115200
预编译固件(随时刷,不必编译)
已归档到 firmware/cyd_28r/(含 bootloader / partitions / app):
cd firmware\cyd_28r
.\flash.ps1
# 或 .\flash.ps1 -Port COM3
说明见 firmware/README.md。源码更新后重新打包:.\firmware\export_from_build.ps1。
环境选择
| 环境 | 适用 |
|---|---|
cyd_28r |
标准 ILI9341 CYD(默认) |
cyd_28r_inv |
颜色反相 / 发白 |
cyd_28_st7789 |
USB-C 双口 / ST7789 变体 |
项目结构
platformio.ini # 板级与库依赖
include/lv_conf.h # LVGL 配置
src/main.cpp # 仪表盘 + LD2420 驱动
scripts/exclude_lvgl_asm.py # 排除 ESP32 不兼容的 LVGL ASM
firmware/ # 预编译固件(可离线刷写)
.cursor/rules/ # Cursor 协作规则
README.md # 本文档
变更约定
每次功能或行为改动须:
- 更新本 README(及必要时的注释)
- 刷新
firmware/cyd_28r/(.\firmware\export_from_build.ps1) git add+git commit提交
详见 .cursor/rules/git-and-docs.mdc。
变更记录
| 日期 | 说明 |
|---|---|
| 2026-10-18 | 初版:CYD + LD2420 LVGL 仪表盘;OT1→GPIO22、RX→GPIO27;显示固件版本 |
| 2026-10-18 | 存在逻辑改为 ESPHome 出厂门限 + 10s 离开保持(动/静均保持 ON) |
| 2026-10-18 | 归档预编译固件到 firmware/cyd_28r/,附一键刷写;初始化本地 Git |
串口日志示例
CYD LVGL LD2420 Radar Dashboard
LD2420 probe @ 115200 baud RX=22 TX=27
FW=v1.6.1 mode=simple
set gates 1..12 to=10s (OK)
界面左下角会显示 FW v1.6.1 与波特率(后缀 S=Simple)。
Description
Languages
C++
69.6%
PowerShell
13.4%
HTML
11.6%
C
4%
Python
0.9%
Other
0.5%