利用射频模块实现Arduino之间的射频通信
扫描二维码
随时随地手机看文章
射频模块由一个433mhz的射频发射器和接收器模块组成。这些是ASK(幅度移位键控)或OOK(挂钩键控)型射频模块。当发送逻辑零时,发射机完全抑制载波频率,因此在电池操作中只消耗低功率。当逻辑1被传输时,发射机是ON的,并且载波频率是满的,因此,将有一个高电源,在大约4.5mA的范围内与3V电源。
发射器和接收器需要与微控制器接口进行数据传输。数据从发射机串行发送,并由调谐后的接收器接收。射频发射器接收来自微控制器的串行数据,并通过连接到发射器第4引脚的天线将其传输到接收器。接收器通过天线接收数据,并将数据发送给与其相连的微控制器。
这些射频模块在433MHz的特定频率下工作。即使有障碍物,射频信号也能在发射器和接收器之间传播。这些模块用于短距离、低预算、简单的通信。低功耗使它们成为基于电池的实现的理想选择。它广泛应用于远程照明控制、远程RFID、无线报警和安防系统等领域。射频通信用于移动通信,可以进行长距离通信,这使得它们适合构建基于物联网的应用程序。所以在这里,我们从一篇关于RF模块的介绍性文章开始,以及RF模块如何与Arduino一起使用来发送和接收数据。
433 MHz射频发射机模块
这个小模块是射频发射器。这很简单。SAW谐振器调谐为433。xx MHz的操作是模块的核心。有一个开关晶体管和一些无源元件。
当逻辑高电平作为数据输入时,振荡器开启并在433处产生恒定的射频输出载波。xx MHz,当数据输入为逻辑低时,振荡器关闭,因此不产生载波。这种技术被称为幅度移位键控(ASK)。
规范
•工作电压:3V - 12V
•工作电流:最大小于40mA,最小小于9mA
•共振模式:(SAW)
•调制方式:ASK
•工作频率:433.92MHz
•传输功率:25mW
•频率误差:+150kHz(最大)
•速度:小于10Kbps
•传输距离:90m(空地)
433 MHz射频接收模块
这是射频接收模块。虽然它看起来很复杂,但它就像发射器模块一样简单。它由射频调谐电路、运算放大器和锁相环组成。一对运放用来放大从发射机接收的载波。然后将放大后的信号送入锁相环,锁相环使解码器能够“锁定”到数字比特流上,从而提供更好的解码输出和抗噪能力。
规范
•工作电压:5.0VDC +0.5V
•工作电流:最大≤5.5mA
•调制方式:OOK/ASK
•工作频率:433.92MHz
•带宽:2 mhz
•灵敏度:超过-100dBm (50Ω)
所需的组件
•Arduino Nano (2)
•射频433MHz发射机模块
•射频433MHz接收模块
•电位计
•LED(5)
•连接电线
线路图
下面给出了Arduino Nano射频发射机的电路图。这里连接一个电位器来改变使用射频发射器发送到接收器的值。
以下是射频发射器与Arduino之间的Pin连接细节
•Arduino的D12引脚- RF发射器的DATA引脚
•Arduino的VCC - RF发射器的VCC
•Arduino的GND - RF发射器的GND
•Arduino的GND -电位器的第一引脚
•Arduino的A2引脚-电位器的第二引脚
•Arduino的VCC -电位器的第三个引脚
使用Arduino Nano的射频接收器电路图如下图所示。这里我们有一系列的led。led根据接收器接收到的电位器值进行移位。
以下是射频接收器和Arduino之间的Pin连接细节
•Arduino的D11引脚-射频接收器的DATA引脚。
•Arduino的VCC -射频接收器的VCC。
•Arduino的GND - RF接收器的GND。
•led的正极引线连接到数字引脚D2、D3、D4、D5和D6
•led的负极导线接地。
编码的解释
在本教程结束时给出了RF发射器和接收器端的完整Arduino代码,在这里我们解释完整的程序以了解项目的工作原理。但是在开始代码之前,我们必须首先在Arduino IDE中安装一个库。
VirtualWire是Arduino库,提供发送短消息的功能,无需寻址,确认或重传。消息的发送方式有点像使用ASK(幅度移位键控)的无线UDP。这个库支持许多廉价的无线电发射机和接收机。
要在Arduino IDE中添加库,请转到Sketch>>Include library>> add . zip library,然后上传从上述链接下载的库。
上传程序后,打开两侧的串行监视器,您将看到如下所示的输出。
射频发射机部分的输出显示了电位器的值。
接收器的输出显示接收到的传感器值。led根据传感器值的范围移位。在这里,我们为每个LED给出了200的范围。
这就是Arduino如何在基于射频的通信中使用。
本文编译自iotdesignpro