DIY全波段Arduino收音机:Si4730模块实现LW/MW/SW/FM接收
核心硬件清单
| 组件 | 数量 | 备注 |
|---|---|---|
| Arduino Nano R3 | 1 | 主控,驱动Si4730与外设 |
| Si4730廉价收音机模块 | 1 | 阿里约$2,含Si4730-D60芯片,覆盖200kHz-108MHz全波段 |
| 1602 LCD模块(白字蓝底) | 1 | 显示频率、波段、信号强度等 |
| 铁氧体磁棒天线 | 1 | 拆解旧收音机获得,用于长波/中波/短波接收 |
| 旋转编码器(带按键) | 1 | 调频、选波段、菜单操作 |
| D类音频功放板(3W+3W,带电位器) | 1 | 驱动扬声器,音量可调 |
项目背景
本项目延续早期全波段接收机(YouTube演示),核心升级在于采用Ricardo Lima Caratti编写的Si4735库,极大丰富了菜单功能与用户体验。硬件布局与前版基本一致,仅机箱颜色变更以示区分。
Si4730-D60支持200kHz~108MHz连续覆盖:
- 长波(LW):150~279 kHz
- 中波(MW/AM):520~1710 kHz
- 短波(SW):2.3~26.1 MHz
- 调频(FM):64~108 MHz
若使用Si4735-D60或Si4732-A10模块,同款固件亦可启用SSB(单边带)解调功能。
软件架构
Arduino固件基于SI4735库构建,库作者持续更新,建议直接拉取最新版:
https://github.com/pu2clr/SI4735
库中示例Si47XX_02_for_Mirko_Pavleski_radio即为本项目固件源码,功能包括:
- 波段切换(LW/MW/SW/FM)与频率步进可调
- 自动/手动搜台、信号强度(RSSI/SNR)显示
- 音频参数调节:音量、高低音、静噪阈值
- RDS解码(FM下显示电台名/节目信息)
- EEPROM断电记忆上次频率/设置
- 多语言菜单、软件复位、固件版本显示
核心代码
固件代码较长,仅提供库与示例入口:
// 完整固件见库中示例:SI47XX_02_for_Mirko_Pavleski_radio
// 下载地址:https://github.com/pu2clr/SI4735/tree/master/examples/SI47XX_02_for_Mirko_Pavleski_radio
原理图
构建建议
- 磁棒天线绕制匝数/抽头位置对中短波灵敏度影响大,建议参考旧机拆解或网上成熟参数
- Si4730模块焊接需注意:天线输入引脚(LNA_IN)需接磁棒高阻端,FM天线接低阻端,两路天线内部已有切换开关
- 供电建议:稳压3.3V/5V分离,数字/模拟地单点汇聚,减少数字噪声耦合入射频前端
- 外壳屏蔽:金属箱体可显著降低MCU时钟谐波干扰,接收灵敏度提升明显
制造工艺
- 无线电技术演进与工程:从马可尼到数字广播
- 橡皮筋的演变与生产
- DIY 蓝牙控制 Arduino 间谍小车
- Arduino 解码遥控接收机 PPM 信号——分步指南
- FlickMote:基于手势的智能家居红外遥控器
- DIY Arduino TV-B-Gone:万能关机遥控器
- 自制大尺寸LED主时钟带闹钟功能 — 12米外清晰可见
- 树莓派 + Arduino 联手打造 Wi-Fi 网络收音机,畅听全球电台
- 自制 16×8 LED 矩阵俄罗斯方块游戏机:Arduino Nano + 74HC595 驱动
- Find Me:基于 Arduino 与蓝牙的智能寻物器制作指南
- Arduino 项目优化供电方案:从按键开关到电池监测与数据记录
- Health Band 智能健康手环:基于 Infineon DPS310 的老人跌倒/步数/体温监护系统