Add touch buttons for speaker toggle and music playback.

Enable SoftSPI touch, replace auto beeps with Speaker ON/OFF and Play Music controls, and document usage.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-10-17 17:36:54 +08:00
parent 82e1ace24f
commit a7a7685fc9
11 changed files with 385 additions and 174 deletions

View File

@@ -1,6 +1,9 @@
# CYD TF 卡信息显示 + 喇叭测试(LVGL)
# CYD TF 卡信息 + 触屏扬声器(LVGL)
在 **ESP32-2432S028(CYD)** 上挂载 TF/microSD,用 LVGL 显示卡信息;并通过板载功放测试外接喇叭。
在 **ESP32-2432S028(CYD)** 上:
- 挂载 TF/microSD,LVGL 显示卡信息
- **触屏按钮**开关扬声器、播放内置音乐
## 硬件
@@ -10,30 +13,24 @@
| TFT CS / DC / BL | 15 / 2 / 21 |
| **SD MOSI / MISO / SCK / CS** | **23 / 19 / 18 / 5** |
| **Speaker(SC8002B → P4)** | **26** |
| **Touch MOSI / MISO / CLK / CS / IRQ** | **32 / 39 / 25 / 33 / 36** |
TF 卡使用独立 VSPI;显示使用 TFT_eSPI(HSPI)。喇叭接 CYD 的 **SPEAK / P4** 两针座(极性对调只会相位反,一般可出声)。
触摸使用 SoftSPI bitbang,不占用 VSPI,可与 SD 同时工作。喇叭接 **SPEAK / P4**。
本工程未启用触摸,避免与 SD 争用总线。
## 触屏操作
## 屏幕显示内容
| 按钮 | 作用 |
|------|------|
| **Speaker ON / OFF** | 打开/关闭扬声器(关=静音并停止播放) |
| **Play Music / Stop** | 播放内置旋律《小星星》;播放中变为 Stop |
- Status:是否挂载成功
- Type:MMC / SDSC / SDHC
- Format:FAT16 / FAT32 等(按分区容量推断)
- Capacity / Partition / Used / Free:容量与空间
- Root files:根目录条目数
- **Speaker**:最近一次音频测试状态(GPIO26)
- 进度条:已用百分比
建议顺序:先点 **Speaker ON**(会有短提示音)→ 再点 **Play Music**。
每 3 秒刷新 SD;串口 115200 同步打印。
## 屏幕信息
## 喇叭测试
- **开机**:三声蜂鸣 + 一小段旋律
- **之后**:约每 12 秒再播一段三声蜂鸣
- 实现:`tone()` / `noTone()` 打在 GPIO26(经板载放大器)
听不到声时检查:P4 是否插紧、喇叭阻值(常见 8Ω)、音量是否过小。
- Status / Type / Format / Capacity(TF)
- Audio:当前音频状态
- 用量进度条
## 编译烧录
@@ -44,10 +41,11 @@ pio device monitor
## 注意事项
- TF 卡需为 **FAT/FAT32**;exFAT 通常无法挂载。
- 若花屏,在 `platformio.ini` 把 `ILI9341_2_DRIVER` 换成 `ILI9341_DRIVER`。
- 变更请同步更新 `CHANGELOG.md` 并提交本地 git。
- TF 需 **FAT/FAT32**。
- 若触屏坐标偏移,改 `src/touch.cpp` 里 `map(...)` 校准范围。
- 若点按无反应,检查排线/旋转;可尝试交换 raw_x/raw_y 映射。
- 变更请更新 `CHANGELOG.md` 并提交本地 git。
## 文档与版本
## 版本
见 [CHANGELOG.md](CHANGELOG.md)。