30、无线电波、调谐电路与Arduino FM收音机搭建指南

无线电波、调谐电路与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 安装必要库
  1. 打开电脑上的Arduino IDE。
  2. 选择“File ➪ New”打开新草图。
  3. 在新草图中,选择“Sketch ➪ Include Library ➪ Manage Libraries”,打开搜索框。
  4. 在搜索框中输入“TEA5767”,找到Simon Monk的“ArduinoTEA5767”库。
  5. 点击“More Information”,访问https://github.com/simonmonk/arduino _ TEA5767,点击“License”阅读软件许可协议。
  6. 在Arduino IDE中点击“Install”安装库,然后选择“Sketch ➪ Include Library”,滚动到刚安装的库并点击其名称添加到草图。
  7. 在草图顶部输入“#include ”添加wire库。
5.3 验证收音机是否工作
  1. 将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:

}
  1. 修改第11行“radio.setFrequency(102.7);”中的数字为本地清晰电台频率。
  2. 将代码上传到Arduino。
  3. 断开Arduino电源(拔掉USB)。
  4. 将收音机屏蔽罩插入小面包板,每个引脚插入不同端子排。
  5. 用跳线将收音机模块的接地和电源端子排连接到Arduino Uno模拟侧的GND和 +5V引脚。
  6. 将收音机屏蔽罩的SCL和SDA引脚连接到Arduino靠近复位按钮的SCL和SDA引脚。
  7. 将天线插入天线端口,耳机插入输出端口。
  8. 将Arduino重新插入USB端口,收音机模块的蓝色灯应亮起。
  9. 按下复位按钮或再次上传代码,耳机应能听到指定电台声音。
6. 添加电台调谐功能
6.1 硬件连接步骤
  1. 确保Arduino从USB端口断开。
  2. 将收音机屏蔽罩插入面包板,+5V引脚插在10f,GND引脚插在13f。
  3. 从10a跳线到电源轨。
  4. 从13a跳线到接地轨。
  5. 插入电位器,中心引脚插在28f,外侧引脚插在26f和30f,确保电位器牢固插入面包板。
  6. 从一个外侧引脚跳线到电源轨。
  7. 从另一个外侧引脚跳线到接地轨。
  8. 从电位器中心引脚28c跳线到Arduino板的A3引脚。
  9. 从11c跳线到Arduino的SDA引脚。
  10. 从12c跳线到Arduino的SCL引脚。
  11. 如果面包板在收音机模块和电位器所在部分的电源轨分开,将两者跳线连接。
  12. 将面包板接地轨连接到Arduino的GND。
  13. 将面包板电源轨连接到Arduino的 +5V。
  14. 将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收音机项目,提高其性能和稳定性,拓展其功能和应用场景。同时,我们也可以将所学的知识应用到其他领域,如智能家居、智能医疗等,为推动科技的发展贡献自己的力量。

内容概要:本文介绍了基于噪声抑制半监督学习的锂离子电池SOH(State of Health,健康状态)估计方法的Python代码实现。该方法融合半监督学习框架先进的噪声抑制机制,旨在利用少量标注样本和大量未标注数据,有效提升电池健康状态预测的精度模型鲁棒性,特别适用于实际工程中电池老化数据标注成本高、样本稀缺的挑战性场景。通过设计高效的特征提取网络可靠的伪标签生成及优化策略,模型能够有效识别并抑制训练过程中的噪声干扰,增强在复杂工况和数据波动下的泛化能力稳定性。; 适合人群:具备一定机器学习理论基础和Python编程能力,从事电池管理系统(BMS)、新能源汽车、储能系统等领域的科研人员、工程师,以及专注于电池寿命预测、设备状态监测智能运维等方向的硕博研究生;; 使用场景及目标:①解决锂离子电池SOH估计中标注数据获取困难、成本高昂的核心痛点;②提升模型在存在测量误差、传感器漂移或异常数据等噪声环境下的预测准确性可靠性;③为相关科研课题提供可复现、可扩展的算法基准开源代码框架,加速算法迭代工程落地; 阅读建议:此资源以Python代码为核心载体,强调算法的完整复现实验验证过程,建议读者结合代码逐模块剖析模型架构、损失函数设计训练流程细节,并积极在自有电池数据集上进行迁移学习、参数调优性能对比,以深入掌握半监督学习噪声抑制技术在电池退化建模中的关键应用。
内容概要:本文系统阐述了高速串行信号在传输过程中因信道损耗导致的眼图闭合问题,并介绍了主流的均衡技术解决方案。信道作为低通滤波器,会显著衰减高频分量,造成码间干扰(ISI),尤其在速率高于1GHz时更为严重。为恢复信号质量,发送端采用FFE(前馈均衡器)实施预加重或去加重,提前补偿高频损耗;接收端则结合CTLEDFE进行二次均衡:CTLE通过模拟高通滤波器“削峰填谷”提升高频响应,而DFE利用反馈机制消除后向码间干扰,提高判决准确性。文章详细解析了各均衡模块的工作原理、电路结构、关键参数及其频率响应特性,并通过PCIe 3.0实例展示均衡前后眼图的改善效果,最后对比了不同技术的适用场景优缺点。; 适合人群:从事高速电路设计、信号完整性分析等相关领域的工程师和技术人员,以及具备一定通信原理和电子工程基础的研发人员; 使用场景及目标:①理解高速信号传输中的损耗机理眼图退化成因;②掌握FFE、CTLE、DFE等均衡技术的设计原理应用场景;③为高速接口(如PCIe、USB等)的信号完整性优化提供理论支持实践指导; 阅读建议:建议结合仿真工具观察不同均衡参数对眼图的影响,深入理解抽头系数、零极点配置等关键参数的调节逻辑,并关注实际硬件实现中的功耗噪声权衡问题。
内容概要:本文详细介绍了基于光伏逆变器调节的中低压配电网电压分层协调控制策略的Matlab代码实现方法,旨在应对高渗透率光伏发电接入导致的配电网电压越限问题。该策略构建了分层控制架构,上层采用集中式优化算法进行全局决策,下层则依赖本地测量信息实现快速动态响应,从而实现对多个分布式光伏逆变器的协同调控。文中系统阐述了控制模型的数学建模过程、优化求解算法的设计流程以及仿真验证方案,并基于标准测试系统开展了仿真实验,结果表明该方法在抑制电压波动、提升电压稳定性、降低网络损耗方面具有显著优势,具备良好的工程应用前景。; 适合人群:具备电力系统分析、自动控制理论及新能源并网技术等相关专业知识背景,熟悉Matlab/Simulink仿真平台,从事相关领域科研工作的高校研究生、科研院所研究人员及电力行业工程技术开发人员。; 使用场景及目标:①深入研究高比例分布式光伏接入背景下中低压配电网的电压控制难题;②掌握分层协调控制体系的设计理念实现机制;③学习并实践基于Matlab的电力系统建模、优化算法编程仿真分析技术;④为实际配电网电压调控项目提供可复现、可拓展的技术参考解决方案支撑。; 阅读建议:建议读者结合所提供的Matlab代码典型配电系统模型开展仿真实践,重点剖析控制架构的层级划分逻辑、通信机制设计以及优化目标函数的构建方法,同时可尝试将其拓展至多时间尺度协调控制、考虑通信延迟数据丢包等更贴近实际的复杂应用场景中进行深入研究。
源码下载地址: https://pan.quark.cn/s/2e09cbca2d82 【针对青龙面板wxpusher推送问题的修复包】是一个为青龙面板(QL Panel)设计的更新或改进版本,其目的是纠正wxpusher相关的推送故障。青龙面板是一个被广泛应用的自动化部署及管理解决方案,它赋予用户在图形化环境中执行多种IT运维操作的能力,涵盖脚本操作、周期性任务执行以及文件处理等。wxpusher作为青龙面板的一个附加组件,承担着实现微信消息推送的任务,用以保障用户可以即时获取系统关键状态变动或异常警报。 sendNotify.js 是此修复包内含的关键模块,属于wxpusher插件的一部分,其核心职责是发送各类通知。在JavaScript编程语言中,该脚本或许内含了处理推送流程、调用微信推送端点以及消息内容的格式化和校验等操作。一旦青龙面板监测到新的事件状况,例如任务成功完成、发生错误或系统进入维护阶段,sendNotify.js便会被激活,将相关数据传送至用户的微信账户。 ql.js 另一个重要的构成部分,可能代表了青龙面板的核心代码库或专用于wxpusher的设定文档。它或许包含了整合wxpusher的相关参数,例如启动过程、授权核实、故障应对和日志管理等功能。ql.jssendNotify.js协同工作,确保wxpusher能够顺利青龙面板进行数据交互,并可靠地向用户传递通知信息。 CK_WxPusherUid.json 这一文档很可能是储存用户信息或配置参数的JSON格式文件。"CK"通常指代Cookie或某种缓存机制,而"WxPusherUid"可能意指wxpusher用户的专属识别码。该文件用于保存用户微信推送服务的连接详情,让青龙面板可以...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值