当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]黑胶唱片的物理仪式感有一种无可替代的魅力——手中唱片的重量,放置时的刻意动作,以及音乐开始前那份期待。数字音乐为我们提供了无限的选择,却也夺走了这种仪式感。

黑胶唱片的物理仪式感有一种无可替代的魅力——手中唱片的重量,放置时的刻意动作,以及音乐开始前那份期待。数字音乐为我们提供了无限的选择,却也夺走了这种仪式感。

Punarnaada 重新回归。这是一款功能完整的智能唱机,使用定制的 NFC 光盘作为“唱片”。每个光盘都可编程连接至 Spotify 的播放列表、专辑、艺人或歌曲。将光盘放入旋转托盘后,唱机便会与 Spotify 进行身份验证,并开始播放——通过内置真实扬声器,配合托盘那熟悉的怀旧旋转动作,带来沉浸式听觉体验。

但真正的挑战——也是这个项目的核心——在于物理形态。如何手工打造留声机标志性的喇叭形扬声器?

功能

- NFC 记录系统 - 将自定义的 NFC 光盘放置在托盘上,即可立即触发任何 Spotify 内容(播放列表、专辑、艺术家、歌曲或电台)。

- Spotify 流媒体服务 - 通过 ESP32 在 Wi-Fi 上实现完整的 OAuth 2.0 认证及 Spotify Web API 集成

- 裂纹弯曲桦木号角 - 激光切割的桦木胶合板面板,通过裂纹弯曲形成留声机号角的复合曲线

- 旋转托盘 - 带齿轮机构的直流电机在播放时带动托盘旋转,呈现逼真的留声机外观效果

- 内置高保真音频 - PCM5102 I2S DAC → TPA3116D D类放大器 → 5W 8Ω立体声扬声器

- 伴侣安卓应用 - 基于Flutter的应用程序,可将Spotify URI写入NFC光盘,并远程控制播放

- 3D打印黄铜配件 - 装饰性柱脚、角架、颈座 - 涂装以匹配时代风格

记录的URI存储在NFC贴片中,因此可以使用任何材料作为记录。

下图展示了几种不同类型的记录材料:纸板、透明和黑色亚克力。

工作原理 - 用户流程

1. 节目记录

•打开伴侣应用 →

•粘贴 Spotify 播放列表/专辑/歌曲的 URL →

•点击“写入” →

•将空白NFC卡放入托盘中 →

•ESP32 将 URI 写入磁盘 ✓

2. 播放音乐

•将预编程的NFC光盘放入托盘中 →

•RC522 读取光盘 →

•ESP32 重建 Spotify URI →

•Spotify API 开始播放 →

•唱片旋转,扬声器播放,显示屏显示曲目信息 ✓

电子产品

在整洁的木质机身内部,隐藏着一个功能强大的嵌入式系统:两块定制的ESP32板、一个高保真I2S数模转换器、一个类D立体声放大器、位于托盘下方的RC522 RFID读卡器、显示曲目信息的2.8英寸TFT显示屏、用于托盘旋转的直流电机,以及一块定制电源管理板。所有部件通过IDC扁平连接线相互连接,实现了整洁的内部布线。

配套的Flutter应用程序运行在安卓系统上,可让您在几秒钟内“截取”新的NFC记录——将任何Spotify URI写入空白的NFC标签。

为何选择ESP32?共振的核心微控制器

Resonance 基本上是一个 ESP32 项目。选择 MCU 并非偶然——正是 ESP32 独特的功能组合,使得整个概念能够在一款经济实惠的芯片上实现。

Wi-Fi + SPI + PWM + HTTP 服务器——全部功能同时实现。主控制板负责通过 Wi-Fi 进行 Spotify 的 OAuth 和 API 调用,通过精心管理的片选线驱动 SPI 外设,输出 PWM 信号以驱动转盘电机,并同时运行一个 WebServer 实例以接收来自配套应用的指令。在性能较低的微控制器上,这需要依赖外部协处理器,否则就会出现性能瓶颈。ESP32 的双核 Xtensa LX6 架构可同时处理所有这些任务,且无竞争问题。

蓝牙A2DP音频。第二块ESP32利用其集成的蓝牙栈接收A2DP音频——即蓝牙音箱所使用的无线音频协议,并通过硬件I2S外设将音频直接路由至PCM5102 I2S DAC。这一功能并非大多数微控制器(无论价格如何)都具备,而ESP32实现了仅需三条代码即可完成的固件配置。

通过SPI进行NFC标签的读写操作。RC522 RFID模块通过SPI进行通信。

充足的处理余量。Spotify OAuth 需要解析 JSON 响应、管理令牌刷新周期,并通过 HTTPS 构建 REST API 调用,这些任务在计算上并不简单。ESP32 的 240 MHz 双核处理器和 520 KB SRAM 能够高效处理这些任务,同时保持 NFC 报警循环、显示渲染和 HTTP 服务器的响应速度。

在ESP32的价位和外形尺寸下,没有其他微控制器能将Wi-Fi、蓝牙、I2S、SPI、PWM以及TLS/HTTPS处理所需的余量集成到一个单一芯片中。如果没有它,Resonance目前的形态就无法实现。

双ESP32架构:一项有意识的设计选择

Resonance 使用了两个 ESP32 模块——并非因为其中一个不够强大,而是因为将两个独立处理器的职责分开,能带来更清晰、更稳定的系统。

为什么需要两个开发板?

ESP32 的共享 2.4 GHz 无线电支持 Wi-Fi 和蓝牙同时运行,但两者会争夺无线频谱资源。在单个 ESP32 上同时运行主动 Wi-Fi(用于 Spotify API 查询和 HTTP 服务)与蓝牙 A2DP 音频流传输时,会导致音频中断以及两者的吞吐量下降。解决方法是物理分离:一个 ESP32 专用于 Wi-Fi,另一个专用于蓝牙音频。

干扰隔离。基于SPI的外设(如RFID、TFT)会产生开关噪声,可能损坏敏感的音频信号。通过将I2S DAC和音频放大器放置在与SPI总线和Wi-Fi天线物理分离的独立板上,可显著提升音频质量。

故障隔离与开发清晰度。每个板卡都有明确单一的职责,主控板可以独立于音频板进行重新刷写和调试。音频板的固件设计极为精简——只做一件事,并且做到尽善尽美。

该架构展示了两个ESP32如何通过蓝牙A2DP间接通信(一个作为音频源触发器,另一个作为音频接收端),并协同工作形成一个功能完整的系统,各具互补角色——这一模式适用于多种分布式嵌入式物联网产品。

本项目中充分发挥了ESP32的性能

Resonance 不是一个简单的“闪烁LED”的ESP32项目。它同时锻炼了ESP32硬件和软件的广泛功能:

ESP32 的 Wi-Fi 栈负责处理 Spotify OAuth 2.0 令牌刷新以及所有通过 HTTPS 进行的 Web API 调用,包括解析 Spotify 端点返回的曲目元数据(JSON)。此外,在端口 80 上持续运行一个 WebServer 实例,提供 REST 接口,配合 Flutter 应用程序在局域网内发送播放指令。

ESP32并非Punarnaada的辅助组件,而是核心设备。从NFC光盘接触唱盘的那一刻起,到音频通过扬声器传出的那一刻,这款留声机的所有用户交互功能,都经由ESP32的外设、无线电和处理器完成处理。

Punarnaada 采用模块化三板定制PCB架构设计:

主板1:主控板(ESP32-WROOM)

主控板。连接Wi-Fi,处理Spotify OAuth令牌刷新,通过RC522模块(SPI)扫描NFC光盘,使用PWM驱动托盘电机,并运行HTTP服务器,以便Flutter配套应用程序能够发送指令。

功能:

•运行固件,用于与 Spotify Web API 通信,以获取播放列表、曲目详情和播放控制。

•与支持检测NFC标签记录的RFID读取器接口,将这些记录映射到Spotify播放列表。

•驱动直流电机,实现如唱片般流畅的物理运动,强化了唱盘的视觉美感。

RC522 RFID 模块用于读取已编程有 Spotify 播放列表的 NFC 标签。它通过 SPI 与 ESP32 进行通信,使 Punarnaada 能够检测到唱盘上放置的是哪首曲目。RFID 模块通过 IDC 连接器连接,便于线路整齐布线。

板子2:蓝牙音频板(ESP32)

专用音频节点。通过蓝牙A2DP接收音频信号,经PCM5102 I2S DAC转码后驱动TPA3116D类D放大器。与主板隔离,防止音频噪声干扰Wi-Fi/SPI操作。

关键部件与功能:

•ESP32 模块——作为蓝牙接收器,使 Punarnaada 可以作为无线音响系统运行。

•PCM5102 I2S DAC — 一款高保真数字到模拟转换器,可将ESP32的I2S音频输出转换为丰富、无噪的模拟音效。

扬声器连接

扬声器主要由蓝牙板控制,该板搭载了PCM5102 I2S DAC。I2S DAC将ESP32产生的数字信号转换为立体声模拟信号,随后由外部TPA3116D立体声放大器进行放大。该放大器连接至5W 8欧姆的扬声器。

PCM5102 I2S DAC 是 Punarnaada 蓝牙音箱板的一部分,而放大器和扬声器则通过螺丝端子外部连接。TPA3116D 放大器板工作电压为 12-24V,该电源由电源管理板提供。

板3:电源管理板

MP1684降压转换器可提供12V(用于TPA3116D放大器)和5V(用于ESP32模块、RC522和电机)的稳压电源,通过JST端子将电力分配给所有电路板。

•Mini MP1684 降压转换器——提供稳定的12V和5V输出,可同时为放大器(高功率电源)和控制板(逻辑电源)供电。

•电源分配——通过JST端子将电源传输至主板、音频板、直流电机和扬声器

原理图

所有四个PCB均在KiCad中设计。

CAD设计

所有机械和外壳部件均在 Autodesk Fusion 360 中设计完成。

1. 黑檀木胶合板(带裂纹弯曲)

号角是这一结构中最具有挑战性和独特性的部件。留声机号角是一种复合的弧形凸起,无法通过标准的平面弯曲实现。解决方法:开槽弯曲。

什么是开槽弯曲?

开槽弯曲是一种在平板材料上切割一系列紧密排列的切口(称为“切口”)的技术。这些切口会降低材料局部的刚度,使其能够发生弯曲和变形。通过控制切口之间的间距、深度和排列方式,可以精确地控制弯曲的半径和方向。

号角设计流程:

1. 号角轮廓在Fusion 360中被建模为旋转实体——经典的留声机喇叭几何形状。

2. 号角被“展开”成平板状的段落,可从板材材料上切割出来。

3. 每个面板都采用了针对3毫米桦木胶合板优化的开槽图案——槽距经过计算,可使面板在达到所需曲率的同时不出现裂纹。

4. 面板已导出为DXF文件,用于激光切割。

号角制造:

- 材质:3毫米桦木胶合板

- 机器:XTools S1

切口槽的深度约为80%(未穿透整个厚度),在外表面留下一层薄而柔韧的皮肤。

切割后,每块板材略微浸湿以增加柔韧性,然后将其绕成模具形状,并让其自然干燥成型。

多个弯曲的面板通过黄铜绑带连接并加以加固,使号角呈现出分段、带有肋纹的外观,呼应了早期声学号角的结构设计。

2. 八角形底座(CNC铣削胶合板)

留声机主体为八角形箱体,灵感源自古董留声机底座的造型。采用Fusion 360软件设计,并使用12毫米胶合板材质,通过OMAX水刀切割CNC设备加工而成。

多层横截面板材堆叠并粘合,以增加高度,并使底座呈现出坚实、厚重的外观。组装完成后,底座进行了打磨,并使用胡桃木色漆进行表面处理。

3. 3D打印部件(PLA)

所有3D打印部件均在Fusion 360中设计,兼具结构功能和装饰作用。使用BambuLab打印机(A1、A1 Mini、P1S)打印,并以金属黄铜效果漆面完成:

旋转模块

- 旋转托盘模拟黑胶唱片的运动,用于固定NFC记录并提供触觉交互。它包含一个直流电机用于旋转以及轴承以实现平稳运行。内部设有固定核心,内含RFID读取器,外部为齿轮驱动的旋转托盘,与直流电机齿轮啮合。

代码

主板固件

使用Arduino IDE编写,支持ESP32板。

核心职责:

连接 Wi-Fi 并通过 OAuth 2.0(刷新令牌流程)进行 Spotify 认证

在端口 80 上运行一个 HTTP 服务器,以接收来自配套应用程序的命令

持续轮询RC522以获取新的NFC光盘;从两个RFID模块读取Spotify URI

- 当伴侣应用请求时,将Spotify URI写入NFC标签

播放时通过PWM控制盘马达

Spotify API

将ESP32连接到Spotify API

要将ESP32连接到Spotify API,可以使用HTTPClient库进行GET和POST请求。该库允许您向Spotify API端点发送请求,并以JSON格式接收响应。然后,您可以解析JSON数据,提取相关信息,例如曲目名称、艺术家名称和专辑封面URL。这些数据可显示在OLED屏幕上,或发送至已连接的设备进行进一步处理。

为此,我使用了一个名为 Spotify_Esp32 的库。

Spotify_Esp32 文档

要使用该库,您需要在 Arduino 代码中包含它,并使用您的 Spotify 账户凭据进行初始化。该库提供了与 Spotify API 认证、获取曲目信息以及控制已连接设备播放的功能。

这是一个使用该库获取当前播放曲目的简单示例:

在此示例中,ESP32 连接到 Wi-Fi,使用提供的凭据对 Spotify API 进行身份验证,并持续检查当前正在播放的曲目。当检测到新曲目时,它会将艺术家和曲名打印到串口监视器上。

此代码已附在项目中。

蓝牙音频板固件

接收蓝牙A2DP音频,并通过PCM5102 I2S DAC进行传输。结构简单、专用于此功能,且刻意与主板隔离。

伴侣安卓应用(Flutter)

要创建一个与ESP32通信的Flutter应用,你需要在Android Studio中设置一个Flutter项目。创建项目后,可以使用http包访问WebSerial API并连接到ESP32。应用应具备简单的用户界面,允许用户输入曲目、专辑或播放列表链接,并将其发送至ESP32。

在应用程序中,可以使用文本框控件让用户输入URI,并通过按钮将URI发送到ESP32。应用程序还应处理ESP32的响应,并将其显示给用户。

在这个代码中,我们有一个简单的 Flutter 应用程序,它接收一个 Spotify 播放列表链接,提取播放列表 ID,并通过 HTTP 将其发送到一个 ESP32 设备。ESP32 预期运行着一个能够处理传入请求的服务器。

上方图片展示了应用程序的用户界面。下方图片显示了当我在应用程序中向ESP32发送Spotify链接时,Arduino IDE的串行监视器画面。通信方式如前所述,基于POST请求。

你可以看到URI已成功接收,并且可以看到轨道URI。ESP32设备会等待NFC标签,当检测到时,再将URI写入NFC卡中。

上图展示了成功将Spotify ID写入NFC标签的过程

您还可以检测到URI并将其发送至Spotify Web API。下图展示了当检测到带有Spotify URI的NFC标签并将其发送给Spotify时的情况

MVP 应用

该应用可将曲目、专辑或播放列表链接发送至ESP32,而ESP32会向Spotify Web API发送一个PUT请求。

在此应用中,我使用了一个简单的文本框来输入URI,并通过一个按钮将URI发送到ESP32。应用使用http包向ESP32发送POST请求,其中URI作为参数。

该应用程序通过本地Wi-Fi网络连接到ESP32的HTTP服务器,使用户能够:

1. 输入任意 Spotify URI(播放列表、专辑、歌曲、艺术家或电台)

2. Tap Write - ESP32 等待 NFC 光盘被放置后,将其 URI 写入光盘

3. 使用屏幕上的按钮远程控制播放(播放、暂停、下一首、上一首)

在Flutter应用端,使用Dart的http包发送HTTP POST请求。当用户提供Spotify播放列表或曲目URI时,应用会构造一个指向ESP32本地IP地址的HTTP POST请求(例如:http://192.168.xx.xx/uri)。该请求包含Content-Type: application/x-www-form-urlencoded等头部信息,以及包含必要数据(如播放列表URI)的请求体。

ESP32 运行一个本地 Web 服务器,监听预定义路由(如 /uri、/play、/pause)的传入请求。当收到请求时,它会解析数据,执行相应操作,并返回 HTTP 响应——通常包含状态码(200 OK)以及可选的消息,以确认请求已成功接收或处理。

ESP32上的HTTP端点:

| 端点 | 方法 | 操作 |

| `/uri` | POST | 将 Spotify URI 写入 NFC 卡(请求体:`uri=spotify:playlist:xxx`) |

| `/play` | POST | 开始/恢复播放 |

| `/pause` | POST | 暂停播放 |

| `/next` | POST | 跳转到下一首歌曲 |

| `/prev` | POST | 上一首曲目 |

结论

Punarnaada最初源于一个问题:如果黑胶唱片的仪式感延续到流媒体时代,会是什么样子?答案竟然是木工、数字制造、嵌入式系统和固执的结合。

这个构建中的每一个环节都涉及了全新的领域。将弯曲的桦木胶合板加工成复合曲面的留声机喇叭,导致我不得不承认比预期更多的测试板失败。让两个ESP32芯片清晰地分工协作——一个负责Wi-Fi、Spotify、NFC和显示屏;另一个处理蓝牙音频和I2S数模转换器——这需要多次重新设计系统架构。将OAuth令牌刷新、SPI总线共享、HTTP服务、PWM电机控制以及实时显示渲染整合进一个连贯的固件循环中,本身就是一个巨大的挑战。

但当你将手工绘制的NFC圆盘放在旋转托盘上,音乐便从号角中流淌而出——就像你的曾祖父母用黑胶唱片时所做的动作一样——所有这些努力瞬间化为一个令人满足的瞬间。

这正是一个项目值得打造的原因:它不仅能够运行,更在运行时传递出某种意义。Resonance 是一台机器,能让原本无形的音乐播放行为变得有实体感、有意识且充满活力。它证明了,一块 5 美元的微控制器、一张桦木胶合板和几枚 NFC 标签,足以让那些被认为因便利而遗失的东西重新被唤醒。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

Smart Dice 是一款基于 ESP32 构建的 3D 数字骰子摇器,其设计灵感源自非洲卢多(ludo)游戏规则,这种游戏深深根植于尼日利亚和西非文化之中。该骰子在 240x240 TFT 显示屏上呈现为一个真实可旋...

关键字: 显示屏 传感器 ESP32 MPU6050

使用ESP32开发板、MAX98357A I2S音频放大器以及WitAITTS库,构建一个基于实时AI的文本转语音转换器。本项目通过Wi-Fi将ESP32连接至Wit.ai云平台,实现对输入文字的实时转换为自然流畅的语音...

关键字: AI 音频放大器 ESP32

人体工学哨兵的灵感源于对一场无声流行病的观察。我们注意到,从流水线上的熟练工人到办公室的职员,许多人并非因突发事故而患上慢性疼痛,而是由于每天成千上万次微小且未被纠正的动作持续累积所致。

关键字: AI Raspberry Pi 5 扬声器

挪威奥斯陆 – 2026年6月24日 – 近日,Wi-Fi Alliance 中国峰会顺利举办。作为国内极具影响力的 Wi-Fi 产业交流平台,本次峰会聚焦 Wi-Fi 技术与 AI、Matter 全屋互联融合创新,集中...

关键字: Wi-Fi 嵌入式 AI Matter

在这个项目中,我打造了Sentra——最智能的DIY监控摄像头,这是一款基于ESP32-S3构建的全电池供电智能安防系统。Sentra将实时Wi-Fi视频流、持续的SD卡录像、运动检测、自动夜视、实时声音监测,甚至机器人...

关键字: Wi-Fi 流媒体 ESP32-S3

参加一次IT会议时,我注意到一些同事佩戴着商用的中国制造蓝牙LED徽章。我觉得这是一个绝妙的想法——比传统的纸质徽章更加实用且富有动感。我立刻就想为自己也买一个。

关键字: 电源管理 OLED显示屏 Wi-Fi TP4056

这是一个基于LILYGO TTGO T-Display(ESP32 + 1.14英寸IPS LCD)的小型常驻桌面小工具,可直观显示您的Claude.ai使用额度,通过绿色/黄色/红色的色彩编码,让您随时了解已消耗了多少...

关键字: LCD显示屏 ESP32 电路板

在嵌入式Wi-Fi产品(智能家电、IPC、网关)中,虽射频前端与芯片决定理论PHY速率,但天线布局(位置、净空区、馈线长度、匹配网络)对实际TCP/UDP吞吐量影响可达30%~60%。本文以2.4GHz 802.11n(...

关键字: Wi-Fi 天线布局

在蓝牙音频SoC(典型2.4GHz ISM波段,BLE/BR/EDR)设计中,天线匹配网络(Matching Network)直接决定发射功率利用率、接收灵敏度与SAR合规性。很多“距离短、偶发断连”问题,根源就是π型匹...

关键字: 蓝牙 VSWR

Mini Plotter 是一款桌面尺寸、支持 Wi-Fi 的笔式绘图仪,可在 A444 纸上绘制任意矢量图形。您只需通过手机或笔记本电脑浏览器连接设备,上传 SVG 文件,即可观看图形自动绘制。无需线缆、无需特殊软件,...

关键字: 电子元件 ESP32 绘图仪 ULN2803
关闭