Leave 2.8 wiring unchanged; release GT911 INT after reset so SCL21 can share CN1. Co-authored-by: Cursor <cursoragent@cursor.com>
97 lines
3.2 KiB
Markdown
97 lines
3.2 KiB
Markdown
# CYD SGP30 空气质量仪表盘
|
||
|
||
ESP32 Cheap Yellow Display + SGP30 + LVGL 空气质量仪表盘。
|
||
|
||
默认 **2.8" ESP32-2432S028R**;可选 **3.5" ESP32-3248S035C**(`cyd_35r`)。
|
||
引脚约定见同目录 [CYD_PROJECT_GUIDE.md](../CYD_PROJECT_GUIDE.md);布局参考 [temperature](../temperature)。
|
||
|
||
## 硬件
|
||
|
||
| 项目 | 2.8" · 2432S028R | 3.5" C · 3248S035C |
|
||
|------|------------------|---------------------|
|
||
| 屏驱 | ILI9341 | ST7796 |
|
||
| 触控 | XPT2046 SoftSPI | GT911 Wire1(SDA33/SCL32/INT21/RST25) |
|
||
| 背光 TFT_BL | **GPIO21** | **GPIO27** |
|
||
| SGP30 SDA | **GPIO22** | **GPIO22** |
|
||
| SGP30 SCL | **GPIO27** | **GPIO21**(CN1;勿占 27=BL、32/33=触控) |
|
||
| 供电 | USB 5V;传感器 **3.3V** | 同左 |
|
||
|
||
接线(SGP30):`VCC→3.3V`,`GND→GND`,再按上表接 SDA/SCL。
|
||
|
||
## 功能
|
||
|
||
- 横屏网格布局:双圆弧仪表(eCO2 ppm / TVOC ppb)+ 底部左空气质量 / 右趋势图(分区不重叠)
|
||
- EMA 平滑、min/max、综合空气质量条与分级(GOOD / FAIR / POOR / BAD)
|
||
- 上电约 15s 预热提示(`WARM`);圆弧与质量条缓动动画;趋势折线 SHIFT 更新
|
||
- 短按切换背光(4 档,顶部提示);长按 ≥0.7s 重置 min/max
|
||
- 连续读失败容错(连续失败才报错)
|
||
- 常亮运行(无自动熄屏 / 休眠)
|
||
|
||
## 构建与烧录
|
||
|
||
依赖 [PlatformIO](https://platformio.org/)。
|
||
|
||
```bash
|
||
pio run -e cyd_28r -t upload # 2.8"
|
||
pio run -e cyd_35r -t upload # 3.5C
|
||
pio device monitor -b 115200
|
||
```
|
||
|
||
### 预编译固件(随时刷,不必编译)
|
||
|
||
| 板型 | 目录 |
|
||
|------|------|
|
||
| 2.8" | [`firmware/cyd_28r/`](firmware/cyd_28r/) |
|
||
| 3.5" | [`firmware/cyd_35r/`](firmware/cyd_35r/) |
|
||
|
||
```powershell
|
||
cd firmware\cyd_28r # 或 cyd_35r
|
||
.\flash.ps1
|
||
# 或 .\flash.ps1 -Port COM3
|
||
```
|
||
|
||
说明见 [`firmware/README.md`](firmware/README.md)。重新打包:
|
||
|
||
```powershell
|
||
.\firmware\export_from_build.ps1 # 2.8
|
||
.\firmware\export_from_build.ps1 -Env cyd_35r
|
||
```
|
||
|
||
### 环境选择
|
||
|
||
| 环境 | 适用 |
|
||
|------|------|
|
||
| `cyd_28r` | 标准 ILI9341 CYD(默认) |
|
||
| `cyd_28r_inv` | 颜色反相 / 发白 |
|
||
| `cyd_28_st7789` | USB-C 双口 / ST7789 变体 |
|
||
| `cyd_35r` | 3.5" ST7796 + GT911(BL=27,SGP30 SDA22/SCL21) |
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
platformio.ini # 板级与库依赖
|
||
include/lv_conf.h # LVGL 配置
|
||
src/main.cpp # 仪表盘主程序
|
||
scripts/exclude_lvgl_asm.py # 排除 ESP32 不兼容的 LVGL ASM
|
||
firmware/ # 预编译固件(可离线刷写)
|
||
.cursor/rules/ # Cursor 协作规则
|
||
README.md # 本文档
|
||
```
|
||
|
||
## 变更约定
|
||
|
||
每次功能或行为改动须:
|
||
|
||
1. 更新本 README(及必要时的注释)
|
||
2. `git add` + `git commit` 提交
|
||
|
||
详见 `.cursor/rules/git-and-docs.mdc`。
|
||
|
||
## 变更记录
|
||
|
||
| 日期 | 说明 |
|
||
|------|------|
|
||
| 2026-10-25 | 按 CYD_PROJECT_GUIDE:3.5 修正 TFT_BL=27;SGP30 保持 SDA=22/SCL=21;GT911 INT 复位后改 INPUT;不动 2.8 |
|
||
| 2026-10-18 | 初版:LVGL 空气质量仪表盘 + SGP30(SDA=GPIO22 / SCL=GPIO27),eCO2/TVOC 双表盘、质量条、趋势图、背光与 min/max |
|
||
| 2026-10-18 | 初始化 Git;归档预编译固件到 `firmware/cyd_28r/`,附一键刷写脚本 |
|