设计师可以做什么与设计无关的副业?
1. 为什么要做这个音响?(分享起因)
市面上的太阳能音响不少,但买过或者用过的朋友应该都有同感:绝大多数市售产品都是“板体一体”的设计。

▲ 常见市售太阳能音响:太阳能板与音响主体一体固定
这种设计在实际庭院使用中极其尴尬:
- 阳光与听觉的矛盾:庭院里往往树荫多、遮挡多,阳光充足的位置往往不是我们休息听歌的地方。想把音响放在休息区桌上,太阳能板就晒不到太阳;想晒太阳,音响又得放得老远,听都听不清。
- 低功耗逻辑欠缺:市售产品大多没有针对连续阴雨天进行深度低功耗优化,极易出现“低电量反复重启/打嗝”甚至“电池过放死机”的情况。
为了彻底解决这两个痛点,我决定自己 DIY 一台“板体分离、分体部署、自动复活”的庭院太阳能无人值守音响!
这篇文章也是我这段时间不断踩坑、调试、优化低压逻辑的完整实战记录,希望能给想折腾类似低功耗无人值守项目的极客朋友们提供一个清晰的参考思路。
🎥 成果视频展示
https://www.zhihu.com/video/20709081407621827012. 它是怎么工作的?(功能与实测表现)
🔋 供电与充放电逻辑
- 白天自动回血:太阳能板充电,白天音响播放音乐的同时,一边供电一边给锂电池充电。
- 高位蓄能与刚性断电:
- 开机门槛:晴天太阳能充电,只有当电池电压达到 3.70V 以上,音响才会自动合闸放歌。
- 低压保护:当连续阴雨天导致电池电压低于 3.20V 时,单片机立刻拉闸,切断音频板电源,彻底停止播放。
🌤️ 真实天气实测表现(一个月实测)
- 晴天/阴晴交替:表现极佳。晴天状况下,早上 9 点左右电池冲够电,音响自动开始播放,甚至有时一直播放到晚上凌晨一两点才停止;
- 连续阴雨天气:如果雨天当天没播,第二天早上就开始播放,能稳定播放到下午 5 点左右。雨过天晴后,无需人工干预,系统会自动完成“充能 ➔ 复活放歌”的全流程!
3. 材料清单与造价
⚠️ 声明:不是打广告,只是自己的购买经历,自己当时购买的链接和记录,不确保现在的价格和信息一致,自行辨析。
4. 完整硬件接线与烧录指南
由于我购买的 USB 转 TTL 下载器出现了兼容性问题,最终采用了 Arduino Nano 作为 ISP 烧录器 为 Pro Mini 烧录代码。下面是整理好的完整准备工具、ISP 烧录接线与操作步骤。
🛠️ 准备工具与环境
- 烧录器:Arduino Nano(带 USB 数据线连接电脑)
- 目标板:Arduino Pro Mini (3.3V / 8MHz 版本)
- 连接线材:杜邦线(公对母 / 母对母若干)
- 电脑软件:Arduino IDE
💻 两步走烧录法(千万不能搞混顺序!)
烧录分为“把 Nano 变成烧录器”和“给 Pro Mini 写入项目代码”两个阶段:
阶段 1:将 Arduino Nano 打造为 ISP 烧录器
- 暂不连接 Pro Mini,仅用 USB 线将 Nano 插入电脑。
- 打开 Arduino IDE,依次点击菜单栏:
文件➔示例➔11.ArduinoISP➔ArduinoISP。 - 在菜单栏设置 Nano 的参数:
- 开发板 (Board):"Arduino Nano"
- 处理器 (Processor):"ATmega328P"(或 Old Bootloader,视你的 Nano 类型而定)
- 端口 (Port):选择 Nano 对应的 COM 口
阶段 2:给 Pro Mini 写入项目代码
- 按照下表接线图,将 Nano 与 Pro Mini 连接好。
- 在 Arduino IDE 中打开咱们的太阳能音响项目代码。
- 关键步骤!配置目标板参数(极其重要):
- 开发板 (Board):"Arduino Pro or Pro Mini"
- 端口 (Port):依然选择 Nano 对应的 COM 口
- 处理器 (Processor):"ATmega328P (3.3V, 8 MHz)"(切记!6V 板需选择 5V, 16MHz)
- 编程器 (Programmer):"Arduino as ISP" 🚨 (切记:不要错选成 http://ArduinoISP.org!)
- ⚠️ 千万不要点右上角的普通“上传”按钮!
- 正确做法是点菜单栏:
项目 (Sketch)➔使用编程器上传 (Upload Using Programmer),或直接按下组合快捷键Ctrl + Shift + U。

▲ Arduino IDE设置截图
看到下方状态栏显示 Done uploading(上传完成),代码就成功写入 Pro Mini 了!
🔌 详细硬件接线对照表
1. 烧录接线(Nano ➔ Pro Mini):
| Arduino Nano (烧录器) | ➔ | Arduino Pro Mini (目标板) |
|---|---|---|
| 3.3V | ➔ | VCC |
| GND | ➔ | GND |
| D10 | ➔ | RST (控制复位核心) |
| D11 | ➔ | D11 (MOSI) |
| D12 | ➔ | D12 (MISO) |
| D13 | ➔ | D13 (SCK) |
2. 整体电路连接线:
- 供电与微型绿板控制:
- 电池正极 (+) ➔ 绿板
IN+& Pro MiniVCC - 电池负极 (-) ➔ 绿板
IN-& Pro MiniGND - 绿板开关信号孔 ➔ Pro Mini
D4脚,并在 D4 与 GND 之间跨接一颗 10K 下拉电阻(防止上电悬空误触发)。
- 绿板
OUT+➔ DFPlayerVCC - 绿板
OUT-➔ DFPlayerGND - 【储能滤波】:1000μF 高频低阻电容并联在 DFPlayer 的
VCC与GND引脚之间。
- Pro Mini
D2➔ 串联 1K 电阻 ➔ DFPlayerTX - Pro Mini
D3➔ 串联 1K 电阻 ➔ DFPlayerRX - Pro Mini
D10➔ 直连 DFPlayerBUSY脚(用于检测是否播放完毕)。
- DFPlayer
SPK_1与SPK_2➔ 直连 4欧3W 防水喇叭(BTL 驱动输出,不分正负极)。 - 电池输出总线可串联一个船型开关作为整机硬电源开关(电池正极接pro mini的VCC脚的那根线剪开,接一个船型开关)。
🏗️ 核心硬件架构设计总结(三大实战避坑原理)
1. 单片机常供电,负载独立受控:Pro Mini 直接连接电池,利用内部测压(VCC)实时监控总电压;DFPlayer 音频板功耗大且低压易卡死,由 Pro Mini 通过 D4 脚控制微型绿板独立通断。
2. 高位蓄能复活(防打嗝震荡):雨天掉电(跌破 3.2V)后,D4 切断绿板。晴天太阳能充电时,单片机在 setup() 中死守 3.65V / 3.70V 刚性门槛,不到满血线绝对不开闸放歌,彻底绝杀电池在 3.1V~3.3V 低压区的“频频打嗝/疯狂重启”死循环。
3. 未死自愈补丁(雨过天晴假死自愈):若雨过天晴后 DFPlayer 发生“电荷残留假死”,代码内置 5 次握手失败自动拉闸 1.2 秒、同时清空串口引脚 的冷重启机制,实现无人值守的 100% 自动复活。
5. 核心代码及手绘接线图分享
以下是经过长达一个月天气实测、集成了低压断电拦截、看门狗护航、串口寄生漏电清理与卡死自动拔插头冷重启机制的完整 Arduino 实操代码以及接线图:

▲ 代码文件截图

▲ 手绘接线图
6. 结语
这个项目对我来说,不只是做一个太阳能音响,而是一次从想法到实物的设计实践。
平时作为设计师,我更多是在电脑里建模、渲染,把想法变成一张张效果图。而这一次,我尝试把设计真正带到了现实中。
从太阳能板与音响的分离,到结构、硬件、电路和程序的反复调整,过程中也踩了不少坑,遇到了低压震荡、串口寄生供电、芯片假死等各种实际问题。但也许 DIY 最有意思的地方,就在于把一个脑海里的想法,一步步变成真正触手可及、稳定可用的东西。
希望这次的制作过程能给同样喜欢 DIY 和户外设备的朋友提供一些参考。也欢迎大家在评论区交流讨论,聊聊你的想法!
🎁 完整项目资料免费领取
如果你也想动手自己做一个无人值守的庭院太阳能音响,我已经把本次项目的全部资料整理打包好啦!
👇 获取方式:
关注公众号,在后台发送关键词:
太阳能音响
📦 包含内容:优化版完整项目代码 + 高清手绘硬件接线图 + 详细零件采购清单列表