Files
inmp441test/README.md
DESKTOP-PUHFO60\dsx2016 475f42a49d Add CYD 3.5C build: I2S on 22/21/35 with GT911 poll-only touch.
Export firmware/cyd_35r and document GPIO21 shared with GT911 INT.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-27 21:06:10 +08:00

3.5 KiB
Raw Blame History

CYD INMP441 声贝检测

ESP32 Cheap Yellow Display + INMP441(I2S)+ LVGL 声级仪表盘(近似 dB SPL)。

默认 2.8" ESP32-2432S028R;可选 3.5" ESP32-3248S035C(cyd_35r)。
引脚约定见同目录 CYD_PROJECT_GUIDE.md;UI 壳参考 sgp30test。

硬件

项目 2.8" · 2432S028R 3.5" C · 3248S035C
屏驱 ILI9341 ST7796
触控 XPT2046 SoftSPI GT911 Wire1(SDA33/SCL32/INT21/RST25)
背光 TFT_BL GPIO21 GPIO27
INMP441 WS GPIO22(CN1/P3) GPIO22
INMP441 SCK GPIO27(CN1) GPIO21(CN1;勿占 27=BL)
INMP441 SD GPIO35(P3,仅输入) GPIO35
供电 USB 5V;麦克风 3.3V 同左

接线:

INMP441 CYD
VDD 3.3V(CN1)
GND GND
L/R GND(左声道,勿悬空)
WS IO22
SCK IO27(2.8)/ IO21(3.5)
SD IO35(P3)

不要接 5V;不要占用背光脚。I2S 需要三根信号线,仅两根扩展脚不够(还要 P3 的 IO35)。
3.5C:SCK=GPIO21 与 GT911 INT 同脚;固件先完成触控选址,再把 21 交给 I2S,触控仅轮询。背光是 27,勿当 SCK。

功能

  • 大圆弧显示近似 dB SPL(基于 INMP441 −26 dBFS @ 94 dB 的换算,非标定声级计)
  • I2S 立体声读槽(兼容 ESP32 与麦 L/R 脚命名反相)+ 去直流后再算 RMS
  • 分级:QUIET / SOFT / NORMAL / LOUD / VERY LOUD / DANGER
  • PEAK 峰值保持(缓慢回落)、MIN/MAX、电平条、底部趋势图
  • EMA 平滑;串口打印 dB / rms / peak
  • 短按切换背光(4 档);长按 ≥0.7s 重置 min/max
  • 常亮运行(无自动熄屏)

读数说明(实测)

本机为相对声级表,相对变化可靠,绝对数值未做声级计标定(偏移 MIC_DB_OFFSET=120)。

场景 本固件常见读数 真实环境大约
安静房间 约 55–60 dB 约 40–50 dB
近距离说话 / 拍手 约 70+ dB 约 60–80 dB

安静时整体偏高约十来分贝属预期;若要对齐手机声级计,可改 src/main.cpp 里的 MIC_DB_OFFSET(例如调到约 110)后重新烧录。

构建与烧录

依赖 PlatformIO。

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/
3.5" firmware/cyd_35r/
cd firmware\cyd_28r   # 或 cyd_35r
.\flash.ps1

重新打包:

.\firmware\export_from_build.ps1
.\firmware\export_from_build.ps1 -Env cyd_35r

项目结构

platformio.ini
include/pins.h lv_conf.h touch.h
src/main.cpp touch.cpp
scripts/exclude_lvgl_asm.py
firmware/
README.md

变更记录

日期 说明
2026-10-27 兼容 3.5C(cyd_35r):WS22/SCK21/SD35、BL27、GT911 Wire1 轮询;导出 firmware/cyd_35r
2026-10-27 文档补充实测读数:安静约 55–60、说话/拍手 70+;说明为相对声级、绝对未标定
2026-10-27 修复无声贝变化:I2S 改立体声读槽(ESP32 L/R 与麦脚常反相)+ 去直流后再算 RMS
2026-10-27 初版:INMP441 I2S 声贝仪表盘(WS22/SCK27/SD35),LVGL 圆弧 + peak/min/max + 趋势图