无线电波、调谐电路与Arduino FM收音机搭建指南
1. 无线电波基础
声音传播距离有限,大声呼喊在无回声情况下传播不到600英尺,且声音波是机械波,不同于无线电波这种电磁波。要通过电磁频谱传输声音,需要一个电振荡器,其产生的波为载波,它以调幅(AM)或调频(FM)两种形式承载声波。
2. 无线电波的发射
-
发射流程
:
- 声音源(如人说话或播放音乐)发出的声波被换能器(如麦克风)接收并转换为电压。
- 振荡器在电磁频谱的射频部分产生特定频率的正弦波,这就是电台的频率。AM频率范围是535kHz - 1605kHz,FM是88MHz - 108MHz,这些频率和发射功率受美国联邦通信委员会(FCC)管控。
- 在调制器中,声波和载波结合,途中放大器增强声音电压,最终以调制波形式通过天线发射。发射信号功率越大,传播越远,但我们制作的射频设备功率小,不会违反FCC规定。
| 调制方式 | 频率范围 | 特点 |
|---|---|---|
| AM | 535kHz - 1605kHz | 易受其他电磁波干扰 |
| FM | 88MHz - 108MHz | 受杂散电磁干扰影响小 |
graph LR
A[声音源] --> B[换能器]
C[振荡器] --> D[调制器]
B --> D
D --> E[放大器]
E --> F[天线]
3. 无线电波的接收
-
接收流程
:
- 天线接收无线电波后,带通滤波器利用电感和电容组合筛选频率,只允许特定频率信号通过,其他频率被忽略。
- 合适频率信号被接受后,二极管整流使信号只剩一半,同时进行解调,滤除载波,剩下的声音信号经放大后通过扬声器或耳机等换能器输出。
graph LR
A[天线] --> B[带通滤波器]
B --> C[整流/解调器]
C --> D[音频放大器]
D --> E[声音输出]
4. AM与FM对比
- AM :改变载波的振幅,易受其他电磁波干扰。
- FM :改变载波的频率,受杂散电磁干扰(EMI)影响小。EMI可能由微波炉、手机、树木触碰电线、灯光开关甚至阳光和闪电等有机能源引起。不过,一些环境因素能让无线电信号传播更远,如电波能在水面反弹,还能从大气层反射回地球。
5. 搭建Arduino FM收音机
5.1 所需材料
- Arduino Uno和USB连接器
- 面包板
- 安装了Arduino IDE的PC
- 标准3.5mm连接器的耳机
- 跳线
- 10k电位器
5.2 安装必要库
- 打开电脑上的Arduino IDE。
- 选择“File ➪ New”打开新草图。
- 在新草图中,选择“Sketch ➪ Include Library ➪ Manage Libraries”,打开搜索框。
- 在搜索框中输入“TEA5767”,找到Simon Monk的“ArduinoTEA5767”库。
- 点击“More Information”,访问https://github.com/simonmonk/arduino _ TEA5767,点击“License”阅读软件许可协议。
- 在Arduino IDE中点击“Install”安装库,然后选择“Sketch ➪ Include Library”,滚动到刚安装的库并点击其名称添加到草图。
- 在草图顶部输入“#include ”添加wire库。
5.3 验证收音机是否工作
- 将Arduino Uno插入USB端口,在IDE中输入以下代码:
//includes the library to run the communication and the TEA5767
shield
#include <Wire.h>
#include <TEA5767Radio.h>
TEA5767Radio radio=TEA5767Radio();
void setup() {
// put your setup code here, to run once:
Wire.begin();
radio.setFrequency(102.7);
}
void loop() {
// put your main code here, to run repeatedly:
}
- 修改第11行“radio.setFrequency(102.7);”中的数字为本地清晰电台频率。
- 将代码上传到Arduino。
- 断开Arduino电源(拔掉USB)。
- 将收音机屏蔽罩插入小面包板,每个引脚插入不同端子排。
- 用跳线将收音机模块的接地和电源端子排连接到Arduino Uno模拟侧的GND和 +5V引脚。
- 将收音机屏蔽罩的SCL和SDA引脚连接到Arduino靠近复位按钮的SCL和SDA引脚。
- 将天线插入天线端口,耳机插入输出端口。
- 将Arduino重新插入USB端口,收音机模块的蓝色灯应亮起。
- 按下复位按钮或再次上传代码,耳机应能听到指定电台声音。
6. 添加电台调谐功能
6.1 硬件连接步骤
- 确保Arduino从USB端口断开。
- 将收音机屏蔽罩插入面包板,+5V引脚插在10f,GND引脚插在13f。
- 从10a跳线到电源轨。
- 从13a跳线到接地轨。
- 插入电位器,中心引脚插在28f,外侧引脚插在26f和30f,确保电位器牢固插入面包板。
- 从一个外侧引脚跳线到电源轨。
- 从另一个外侧引脚跳线到接地轨。
- 从电位器中心引脚28c跳线到Arduino板的A3引脚。
- 从11c跳线到Arduino的SDA引脚。
- 从12c跳线到Arduino的SCL引脚。
- 如果面包板在收音机模块和电位器所在部分的电源轨分开,将两者跳线连接。
- 将面包板接地轨连接到Arduino的GND。
- 将面包板电源轨连接到Arduino的 +5V。
- 将Arduino插入PC的USB端口。
6.2 代码修改
//includes the library to run the communication and the TEA5767 shield
// and the radio module
#include <Wire.h>
#include <TEA5767Radio.h>
TEA5767Radio radio=TEA5767Radio();
int input=A3; //sets the potentiometer center pin to read from A3
int convert=0; //variable to store temporary value
float freq=0; //creates the variable to store the chosen frequency
int min=88; //sets the minimum value for frequency
int max=108; //sets the maximum value for frequency
void setup() {
// put your setup code here, to run once:
Wire.begin();
radio.setFrequency(102.7); //change this to the station you listen to
most
Serial.begin(9600); //turns on serial monitor
}
void loop() {
// put your main code here, to run repeatedly:
input = analogRead(A3); // reads the input on A3
Serial.println(input);
if (input<100){
Serial.println("Below Minimum");
}
else if (input>1000) {
Serial.println("Maximum Exceeded");
}
convert =(input * 10)/45 + 880; //makes the frequency an integer
//offsetting for the minimum frequency
Serial.println(convert);
if (convert > (float)freq*10 + 1) {
freq = (float)convert / 10;
}
else if (convert < (float)freq*10 - 1) {
freq = (float)convert /10;
}
radio.setFrequency(freq);
Serial.println("Frequency is");
Serial.println(freq);
delay(100);
}
保存代码,验证并上传到Arduino。转动电位器应能改变收音机屏蔽罩选择的频率。代码中,A3引脚接收电位器电压,
freq
变量设为浮点型以处理电台频率的小数部分,
min
和
max
变量仅作为FM频率范围参考。代码使用A3引脚100 - 1000的输入范围补偿电位器可能的不完美,通过一系列计算得出频率并设置,同时避免频率小波动导致的变化。
7. 项目改进建议
- 添加OLED或LED显示屏,让用户无需连接电脑就能看到频率。
- TEA5767芯片有扫描下一个电台、静音按钮和音量等功能,可参考其数据手册进一步开发。项目运行良好后,可考虑将其焊接到穿孔板并制作或寻找外壳。添加调谐到相同频率的无线FM麦克风电路,可将其用作婴儿监视器或其他远程监听设备。
8. 调谐电路
调谐电路使收音机能够选择所需频率,它可以接受或拒绝谐振频率。就像推秋千,在合适时机推会很轻松,这就是共振现象。在电学中,共振也很重要,例如歌剧歌手用声音震碎酒杯。调谐电路有接受电路和拒绝电路两种配置,取决于电容和电感是串联还是并联。
-
相关公式
:
- 感抗$X_L = 2\pi fL$
- 容抗$X_C = \frac{1}{2\pi fC}$
- 谐振频率$f_0 = \frac{0.159}{\sqrt{LC}}$
通常在无线电操作中,选择一个电感并使用可变电容来改变谐振频率到所需值。
无线电波、调谐电路与Arduino FM收音机搭建指南
9. 调谐电路的原理与应用深入剖析
调谐电路在无线电系统中起着关键作用,它的核心在于利用电感和电容的特性来实现对特定频率的选择。
9.1 共振现象的物理本质
共振是调谐电路的基础原理。以推秋千为例,当推力的节奏与秋千的自然摆动频率相匹配时,只需施加较小的力就能让秋千荡得更高,这就是共振的直观体现。在电学领域,当电路中的电感和电容达到特定状态时,也会出现类似的共振现象。
例如,当一个电信号的频率与调谐电路的谐振频率相同时,电路会对该信号产生强烈的响应,而对其他频率的信号则表现出较高的阻抗,从而实现对特定频率信号的选择。
9.2 接受电路与拒绝电路的工作机制
调谐电路根据电容和电感的连接方式可分为接受电路和拒绝电路。
| 电路类型 | 连接方式 | 工作特点 |
|---|---|---|
| 接受电路 | 电容和电感串联 | 允许谐振频率的信号通过,对其他频率信号有较大阻碍 |
| 拒绝电路(坦克电路) | 电容和电感并联 | 阻止谐振频率的信号通过,让其他频率信号相对容易通过 |
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(输入信号):::process --> B{调谐电路类型}:::process
B -->|接受电路| C(谐振频率信号通过):::process
B -->|拒绝电路| D(谐振频率信号被阻止):::process
在接受电路中,当输入信号的频率等于谐振频率时,电感和电容的电抗相互抵消,电路的总阻抗最小,信号能够顺利通过。而在拒绝电路中,当输入信号的频率等于谐振频率时,电感和电容的并联组合会形成一个高阻抗的回路,阻止该频率的信号通过。
9.3 调谐电路在无线电接收中的应用
在无线电接收过程中,调谐电路的作用至关重要。天线接收到的是包含各种频率的无线电信号,通过调谐电路可以选择出我们需要的特定频率的电台信号。
例如,在收音机中,通过调节可变电容的值,可以改变调谐电路的谐振频率,从而实现对不同电台的选择。当我们转动收音机的调谐旋钮时,实际上就是在改变调谐电路的参数,使其谐振频率与我们想要收听的电台频率相匹配。
10. 无线电波传播的环境影响因素
无线电波的传播不仅与发射和接收设备有关,还受到环境因素的显著影响。
10.1 电磁干扰对无线电波的影响
电磁干扰(EMI)是影响无线电波传播质量的重要因素之一。如前所述,微波炉、手机、树木触碰电线、灯光开关以及阳光和闪电等都可能产生电磁干扰。
| 干扰源 | 干扰特点 | 对AM和FM的影响 |
|---|---|---|
| 微波炉 | 产生高频电磁辐射 | 对AM影响较大,可能导致信号失真 |
| 手机 | 发射和接收无线信号 | 可能干扰附近的FM信号 |
| 树木触碰电线 | 产生不规则电磁信号 | 对AM和FM都可能造成干扰 |
| 灯光开关 | 开关瞬间产生电火花 | 可能引起短暂的信号干扰 |
| 阳光和闪电 | 自然产生的电磁现象 | 可能对远距离无线电通信造成干扰 |
AM信号由于是通过改变载波的振幅来传输信息,因此更容易受到电磁干扰的影响,可能会出现杂音、信号不稳定等问题。而FM信号通过改变载波的频率来传输信息,对振幅的变化不敏感,因此受电磁干扰的影响相对较小。
10.2 地理环境对无线电波传播的影响
地理环境也会对无线电波的传播产生重要影响。
- 水面反射 :无线电波在水面上会发生反射,就像石头在水面上跳跃一样。这种反射现象可以使无线电波传播得更远,尤其是在海洋或大型湖泊附近,无线电信号可以通过水面反射到达更远的地方。
- 大气层反射 :无线电波还可以被大气层反射回地球。电离层是大气层中的一个重要区域,它可以反射某些频率的无线电波,使得这些信号能够在地球表面的不同地区之间传播。例如,短波无线电通信就是利用了电离层的反射特性,实现了远距离的通信。
11. Arduino FM收音机项目的拓展与创新
Arduino FM收音机项目具有很大的拓展和创新空间,以下是一些可以进一步探索的方向。
11.1 集成更多功能模块
- 添加蓝牙模块 :可以将Arduino FM收音机与手机或其他蓝牙设备连接,实现音频的无线传输。用户可以通过手机播放音乐或其他音频内容,然后通过收音机的扬声器播放出来。
- 加入GPS模块 :结合GPS模块,收音机可以获取当前的地理位置信息,并根据位置信息自动调整接收的电台频率,或者提供当地的电台推荐。
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(Arduino FM收音机):::process --> B{拓展功能模块}:::process
B -->|蓝牙模块| C(实现无线音频传输):::process
B -->|GPS模块| D(获取地理位置信息):::process
11.2 开发手机应用程序进行远程控制
可以开发一款手机应用程序,通过Wi-Fi或蓝牙与Arduino FM收音机进行通信,实现对收音机的远程控制。
- 频率调节 :用户可以在手机应用上直接输入想要收听的电台频率,或者通过滑动滑块来调节频率。
- 音量控制 :在手机应用上调节收音机的音量大小,方便用户操作。
- 电台预设 :用户可以在手机应用上预设一些常用的电台频率,下次使用时可以快速切换到这些电台。
11.3 实现智能语音交互功能
结合语音识别技术,为Arduino FM收音机添加智能语音交互功能。用户可以通过语音指令来控制收音机的开关、调节频率、选择电台等操作。
例如,用户可以说“打开收音机”“调到102.7兆赫”“播放音乐电台”等,收音机可以根据用户的语音指令进行相应的操作。
12. 总结与展望
通过对无线电波、调谐电路以及Arduino FM收音机项目的深入探讨,我们了解了无线电通信的基本原理和实现方法。从无线电波的发射和接收到调谐电路的频率选择,再到Arduino平台上的实际应用开发,我们看到了电子技术在日常生活中的广泛应用。
未来,随着科技的不断发展,无线电通信技术将更加先进和智能化。例如,5G技术的普及将带来更快的数据传输速度和更低的延迟,物联网的发展将使得更多的设备实现无线连接和数据交互。同时,我们也可以期待在Arduino等开源平台上开发出更多有趣和实用的项目,为我们的生活带来更多的便利和乐趣。
在实际应用中,我们可以进一步优化Arduino FM收音机项目,提高其性能和稳定性,拓展其功能和应用场景。同时,我们也可以将所学的知识应用到其他领域,如智能家居、智能医疗等,为推动科技的发展贡献自己的力量。
超级会员免费看
8237

被折叠的 条评论
为什么被折叠?



