基于 RDA5807 与 Arduino Pro Mini 自制 FM 收音机
元件与物料
| RDA5807 FM 收音模块 | ×1 |
| SparkFun Arduino Pro Mini 328 - 3.3V/8MHz | ×1 |
| Nokia 5110 显示屏 (84x48) | ×1 |
| 18650 锂离子电池 | ×1 |
| 18650 电池盒 | ×1 |
| Adafruit USB 锂电池充电板 | ×1 |
| 音频放大器模块 | ×1 |
| 光敏电阻 | ×1 |
| 通用 NPN 三极管 | ×1 |
| 100Ω 电阻 | ×1 |
| 10kΩ 电阻 | ×2 |
| 300kΩ 电阻 | ×1 |
| 1MΩ 电阻 | ×1 |
| 带按键旋转编码器 | ×1 |
| 扬声器 | ×1 |
所需工具
- 电烙铁
软件
- Arduino IDE
项目简介
简述
发现 RDA5807 FM 收音模块支持 RDS 信号接收,遂萌生自制收音机念头。采用 18650 锂电池供电配合 USB 充电板,便携可充电。Nokia 5110 显示屏可读性强、低功耗、界面可定制,延长续航。
核心功能特性
- 18650 锂电池 + USB 充电,便携续航。
- Nokia 5110 图形显示,友好交互界面。
- 最近 4 台收听电台历史记录,快速切台。
- RDS 电台名称显示在屏幕底部。
- 光敏电阻自动调节屏幕背光亮度。
RDA5807 模块内置 3.3V 稳压,搭配 3.3V/8MHz Pro Mini 简化供电设计。音频放大器直连锂电池供电以获得更大输出功率。显示屏驱动采用 U8GLIB 图形库,速度快、兼容性好,作者已添加西里尔字体,使用时请在草图中选择匹配字体。
操作方式:旋转编码器交互
- 自动搜台模式 (默认): 顺/逆时针旋转编码器 → 向上/向下搜寻下一个信号强度达标的电台。
- 手动调频模式: 短按编码器切换。旋转编码器微调频率。
- 历史记录: 长按编码器约 2 秒 → 显示最近 4 台列表 → 旋转选择 → 短按确认切换。
- EEPROM 存储策略: 切台 1 分钟后才写入 EEPROM,避免频繁搜台损耗 Flash。
总结
RDA5807 库完善、功能丰富,是优秀的 FM 接收模块。远距离台需拉长天线。音质可接受;若追求更大音量可换大功率放大器,但会缩短电池续航。
代码仓库
GitHub 仓库提供两个版本:
• Full 版: 含背光自动调节、电台历史,已硬件验证。
• Lite 版: 精简版,仅源码编译未实测。
https://github.com/sfrwmaker/fm_radio_rda5807
原理图

制造工艺