# 口哨 / 声音传感器(CYD) ESP32 Cheap Yellow Display(ESP32-2432S028R)+ 三针口哨模块(高低电平)+ LVGL。 触控 + LVGL 壳参考 `activeBuzzerTest` / `hw269test`(SoftSPI,勿改 `src/touch.cpp`)。 ## 硬件 | 项目 | 说明 | |------|------| | 板子 | CYD ESP32-2432S028R(2.8" ILI9341,横屏 UI 320×240) | | 模块 | 三针口哨/声音传感器(顶部黑头麦克风,OUT 高低电平) | | 信号 | **GPIO22** | 接线:`VCC→3.3V`(或模块标注电压),`GND→GND`,`OUT / DO / S→GPIO22`。 默认 **高电平 = 有声**。若实际相反,改 `include/pins.h` 里 `SOUND_ACTIVE_HIGH` 为 `0`。板上电位器调节灵敏度。 ## 功能 / 操作 - 实时显示 **QUIET** / **SOUND!**、引脚 **HIGH/LOW** 与 active/idle - 触发时进度条闪动;边沿计数 **hits**(约 40ms 消抖) - 触控底部 **Reset**:清零 hits - **无分贝**:数字口 + GPIO22 非 ADC,无法测 dB 界面自上而下分区(互不重叠):标题 → 引脚 → 状态 → 电平 → 条 → hits → Reset。 ## 构建 / 烧录 依赖 [PlatformIO](https://platformio.org/)。 ```bash pio run -e cyd -t upload pio device monitor -b 460800 ``` ### 预编译固件 ```powershell cd firmware\cyd .\flash.ps1 # 或 .\flash.ps1 -Port COM4 ``` 源码更新后重新打包:`.\firmware\export_from_build.ps1`。 ## 项目结构 ``` platformio.ini # env:cyd,TFT_eSPI + lvgl copy_lv_conf.py include/ pins.h # SOUND_PIN=22、SOUND_ACTIVE_HIGH sound.h / touch.h / ui.h / lv_conf.h src/ main.cpp sound.cpp # 数字高低电平采样 + 消抖计数 touch.cpp # SoftSPI 触控,勿改 ui.cpp # 横屏状态页 firmware/ # 预编译包 + export_from_build.ps1 README.md ``` ## 变更记录 | 日期 | 说明 | |------|------| | 2026-10-23 | 初版:三针口哨 GPIO22 高低电平检测、hits、LVGL UI、可刷 `firmware/cyd` | | 2026-10-23 | 修 UI:Reset 与 hits/提示重叠,改为自上而下固定分区布局 |