如何制作一台易于编程的收音机

如何制作一台易于编程的收音机

收音机是最经典的电子设备之一,至今仍然非常实用。有趣的是,收音机不仅可以购买现成的,还可以自制——甚至可以集成微控制器以便于编程。这样一来,你的自制收音机就不仅仅是一个“广播接收器”了,而可以成为一个功能齐全、可扩展的项目:显示电台名称、存储预设频道、自动调节音量,甚至可以通过按钮、应用程序或物联网设备进行控制。

本文讨论了如何用相对容易找到的元件、经济实惠的成本和对初学者友好的流程来构建一个易于编程的收音机。

-

1. “易于编程”的收音机概念

易于编程的收音机通常采用预装的收音机调谐器模块(FM/AM 或仅 FM),并通过 I2C 等数字通信方式进行控制。这意味着您无需设计复杂的射频电路(射频电路通常设计难度较高,且需要专用测量设备)。微控制器(Arduino/ESP32)只需向调谐器模块发送指令:选择频率、搜索电台、保存预设等等。

对于初学者来说,最受欢迎的选择是基于 Si4703 或 RDA5807 模块的 FM 收音机,因为:
价格便宜,容易找到。
– 通过 I2C 控制(易于编程)。
– 能够稳定接收调频广播。
– 提供大量文档和程序示例。

-

2. 所需组件

以下是构建易于编程的调频收音机的推荐组件列表:

1. 微控制器
简单之选:Arduino Nano/Uno
– 更高级的选择:ESP32(可添加 Wi-Fi/蓝牙功能)
2. FM收音机模块
– 推荐:RDA5807M(简单且便宜)
– 备选方案:Si4703
3. 音频放大器模块
例如 PAM8403(3W 放大器,体积小,易于使用)
4. 扬声器 4Ω/8Ω (1–3W) 或输出至耳机
5. 屏幕(可选,但很有用)
– 0.96英寸I2C OLED或16×2 I2C LCD用于显示频率
6. 按钮/编码器
– 用于调音的上下按钮
– 旋转编码器(可选),带来真正的收音机体验
7. 天线
– 对于调频广播来说,70-80厘米长的电缆通常就足够了。
8. 电源
– 5V(移动电源、USB适配器或电池+升压器/充电器)
9. 跳线、面包板/PCB板和盒子(可选)

-

3. 简单电路原理图

电路原理:

– 微控制器通过 I2C 与无线电模块通信:
– 自然资源到自然资源
– SCL 到 SCL
– VCC 接 3.3V 或 5V(调整模块)
– GND 到 GND

– 收音机模块的音频输出连接到放大器的输入端:
– LOUT/ROUT(或音频输出)→ 放大器 L/R 输入
– 音频接地 → 放大器接地

– 放大器输出至扬声器:
– OUT+ 和 OUT- 至扬声器

旋钮:
– 将按钮连接到 Arduino 数字引脚 + GND(使用内部上拉电阻)

如果使用 I2C OLED 显示屏:
– 连接到同一个 SDA/SCL(I2C 可以共享线路),只要 I2C 地址不冲突即可。

重要提示:某些无线电模块在 3.3V 电压下工作效果最佳。如果您使用的是 5V Arduino,请确保您的模块支持 5V 电压,或者使用电平转换器。

-

4. 程序逻辑(工作原理)

一般来说,广播节目就可以了:
1. I2C初始化
2. 初始化RDA5807模块
3. 设置初始频率(例如 99.9 MHz)
4. 读取按钮输入:
– “+”按钮可增加频率(例如 +0.1 MHz)
– “-”按钮降低频率。
– “搜索”按钮(可选),用于自动扫描
5. 在屏幕上显示频率

这种结构使收音机易于扩展。您可以添加预设频道(频道记忆)、睡眠定时器,甚至可以通过应用程序进行控制。

-

5. 简易实现示例(Arduino + RDA5807 + OLED)

以下是实际操作步骤概述:

步骤 1:准备图书馆
例如,查找适用于 RDA5807 的 Arduino 库:
– 从 Arduino IDE 库管理器中选择“RDA5807”或“RDA5807M”。

对于OLED:
– Adafruit SSD1306 和 Adafruit GFX(或 U8g2)。

步骤 2:编写最小特征
首先介绍核心功能:
– 设置音量()
– 设置频率()
– 显示频率()

步骤 3:添加按钮
使用 `INPUT_PULLUP` 可以实现简单的按钮序列:
– 将按钮的一条腿连接到数字引脚
按钮的一端接地

-

6. 让收音机更稳定、更清晰的技巧

1. 天线的影响非常大。
可以使用75厘米长的电缆作为简易天线。将其连接到模块的天线引脚(如果有)或数据手册中推荐的连接点。

2. 将音频路径与电源路径分离。
电源线靠近音频线时,经常会产生噪声。请使用短线缆并整齐地布线。

3. 使用去耦电容
在收音机和放大器模块附近添加 0.1µF 和 10µF 电容器,以降低噪声。

4. 良好的接地
如果可能,尽量将所有接地端连接到一个主接地点(星形接地)。

5. 音箱和扬声器位置
扬声器和箱体的摆放位置会影响音质。小型箱体搭配合适的通风孔,听起来会更加紧凑。

-

7. 功能开发(使“易于编程”更具吸引力)

基本收音机启动并运行后,您可以添加以下功能:

– 电台预设(1-10 个记忆按钮)
将频率保存到 EEPROM(Arduino)中,这样在关机时就不会丢失。

自动扫描
收音机会扫描频率,当信号强时停止扫描。

– RDS(无线数据系统)
部分模块支持显示站点名称/文本,具体取决于硬件。

数字音量控制
这可以通过无线电模块或放大器来实现(如果放大器支持数字电位器)。

– 省电模式/睡眠定时器
适用于便携式收音机。

– ESP32 + Web 控制
使用 ESP32,您可以通过手机浏览器控制频率。

-

8. 预计成本和困难

预计费用(可能因商店/地区而异):
– Arduino Nano:40-80印尼盾
– RDA5807 模块:20 至 40 印尼盾
– PAM8403:10-20印尼盾
– OLED I2C:30万至60万印尼盾
演讲者:10万至30万印尼盾
简单项目总成本:约 100 万至 200 万印尼盾。

难度级别:初级到中级。对于初学者来说,主要挑战通常是接线、确保无线电模块兼容(3.3V/5V)以及找到合适的库。

-

9. Penutup

制作一台可编程收音机既有趣又有教育意义。通过使用像RDA5807这样的数字调谐器模块,您可以专注于编程和功能,而无需关注复杂的射频电路。最终您将得到一台现代化的DIY调频收音机,并可根据自己的喜好进行定制:添加显示屏、预设频道、扫描功能,甚至可以使用ESP32通过互联网进行控制。

如果你愿意,我可以帮你准备:
– 最经济版本组件清单,
– 根据你的开发板类型(Arduino 或 ESP32)绘制接线图,
– 以及可直接上传的代码示例(加上预设和自动扫描功能)。

请留言