# AuraBeat 16 **Repository Path**: leeos/aura-beat-16 ## Basic Information - **Project Name**: AuraBeat 16 - **Description**: AuraBeat16 基于 ESP32-S3 + MAX9814 + 16×16 WS2812 的双触摸音乐频谱灯 支持多种灯光效果、FFT实时频谱分析、AGC自动增益、纯硬件无芯片坑 - **Primary Language**: Arduino - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-14 - **Last Updated**: 2026-05-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ESP32-S3 16x16 WS2812 LED 矩阵音乐频谱控制器 ## 项目概述 基于 ESP32-S3-N16R8 的 16x16 RGB LED 矩阵音乐频谱可视化系统。纯音频驱动,支持 13 种频谱效果。 ### 效果演示 📹 [查看演示视频](images/IMG_5679.mov) ### 主要特性 - **16x16 WS2812 RGB LED 矩阵** - 256颗可独立控制的LED - **INMP441 I2S 麦克风** - 实时音频频谱分析 - **双触控按键** - 效果切换、亮度调节 - **13种频谱效果** - 柱状、霓虹拖尾、像素爆炸、网格脉冲等 - **10级亮度** - 0%~100%,长按持续调节 - **掉电保存** - 自动记忆效果和亮度设置 --- ## 硬件配置 | 功能 | GPIO | 说明 | | ------- | ---- | --------------------------- | | LED_DIN | 21 | WS2812B 数据输入 | | MIC_SCK | 16 | INMP441 I2S 时钟 (BCLK) | | MIC_WS | 17 | INMP441 I2S 字选择 (LRCLK) | | MIC_SD | 18 | INMP441 I2S 数据输出 (DOUT) | | TOUCH_1 | 14 | 按键1 (下一效果 / 增加亮度) | | TOUCH_2 | 15 | 按键2 (上一效果 / 降低亮度) | --- ## 触控操作 | 操作 | KEY1 | KEY2 | | ------------ | ---------------- | ---------------- | | **短按** | 下一个频谱效果 → | 上一个频谱效果 ← | | **长按 ≥3s** | 增加亮度 +10% | 降低亮度 -10% | | **持续长按** | 每1.5秒 +10% | 每1.5秒 -10% | - 短按切换效果支持循环(到达末尾回到开头) - 亮度范围:0% ~ 100%,共11级 --- ## 亮度等级 | 等级 | 百分比 | 说明 | | ---- | ------ | --------- | | 0 | 0% | 关闭 | | 1 | 10% | 极暗 | | 2 | 20% | 很暗 | | 3 | 30% | 暗 (默认) | | 4 | 40% | 偏暗 | | 5 | 50% | 中等 | | 6 | 60% | 偏亮 | | 7 | 70% | 亮 | | 8 | 80% | 很亮 | | 9 | 90% | 极亮 | | 10 | 100% | 最亮 | --- ## 频谱效果 (13种) | # | 名称 | 描述 | | --- | --------------- | -------------------------------------------- | | 1 | VerticalBars | 经典垂直柱状,彩虹渐变,顶部峰值 | | 2 | CenterBars | 中心双向延伸 | | 3 | NeonTrail | 霓虹拖尾,峰值高亮点+亮度衰减流光 | | 4 | PixelExplosion | 像素爆炸,低频鼓点触发菱形扩散 | | 5 | GridPulse | 网格脉冲,4×4网格随能量缩放+亮度呼吸 | | 6 | Heatmap | 热力图扩散效果 | | 7 | CircleRadar | 圆形雷达,缓慢旋转 | | 8 | StereoMirror | 双声道镜像对比 | | 9 | Fire | 火焰喷射效果 | | 10 | DotMatrix | 点阵跳动图案 | | 11 | EnergyBall | 能量球同心扩散 | | 12 | StepBars | 水平阶梯频谱,平滑插值+蓝青红渐变 | | 13 | CornerBars | 四角柱状频谱,4段频段独立驱动四角柱子 | --- ## 代码架构 ``` aura-beat-16/ ├── platformio.ini # PlatformIO 配置 ├── partitions.csv # 自定义分区表 ├── include/ │ └── common.h # 公共头文件 └── src/ ├── main.cpp # 主程序入口 ├── util.cpp # 坐标/像素/亮度/存储 ├── touch.cpp # 触控按键处理 ├── audio.cpp # I2S采样 + FFT └── spectrum.cpp # 13种频谱效果 ``` --- ## 编译与烧录 ```bash pio run # 编译 pio run --target upload # 烧录 pio device monitor -b 115200 # 串口监视 ``` --- ## 依赖库 | 库名 | 版本 | 用途 | | ---------- | ------ | -------------- | | FastLED | ^3.9.0 | WS2812 LED控制 | | ArduinoFFT | ^2.0 | 音频频谱分析 | --- ## 更新日志 ### v3.0.0 (当前) - ✅ 移除图标显示,纯频谱模式 - ✅ KEY1短按→下一效果,KEY2短按→上一效果(循环) - ✅ KEY1长按≥3s→增加亮度,持续长按每1.5s+10% - ✅ KEY2长按≥3s→降低亮度,持续长按每1.5s-10% - ✅ 亮度10级: 0%, 10%, 20%, ..., 100% - ✅ 频谱效果从11种扩展至13种 - ✅ 新增效果: 霓虹拖尾(NeonTrail)、像素爆炸(PixelExplosion)、网格脉冲(GridPulse) - ✅ 新增效果: 水平阶梯频谱(StepBars)、四角柱状频谱(CornerBars) - ✅ 替换效果: 瀑布流→霓虹拖尾、峰值粒子→像素爆炸、波浪→网格脉冲 ### v2.0.0 - 移除WiFi/时钟/图片功能 ### v1.0.0 - 初始版本 --- ## 许可证 MIT License ## 作者 LeeFPV