无论是短距离电视、远程通信还是远距离无线电通信,任何形式的无线通信都已成为人类生活中必不可少的一部分。无线通信就是无线传输数据,这样就不存在任何电线的麻烦,也不与设备本身直接接触。
实现无线通信的最简单和最便宜的方法之一是使用射频模块(射频模块)。
另一方面,Arduino是一个低成本的解决方案,适用于具有开源硬件和软件的微控制器应用。Arduino可以用于许多小型到实时的应用程序,只需简单的编程和硬件组件。
通过将无线通信与Arduino结合在一起,我们可以创造一个广泛的应用,如遥控汽车,无线操作机器人,家庭自动化,简单的数据传输等。
在这个项目中,我们将设计一个系统,在这个系统中,两块Arduino板将使用射频模块相互通信。
线路图
由于是一个无线通信项目,电路由发射机部分和接收器部分组成。
项目的发射机部分的电路如下所示。
该项目的接收器部分的电路如下所示。
组件的要求
发射机部分
接收部分
- Arduino UNO(或任何其他Arduino板)[在这里买]
- 434 MHz接收模块(或315 MHz模块)
- 领导
- 1 KΩ电阻器
- 原型板(面包板)
- 连接电线
- 电源(适配器或电池)
- 射频模块
组件描述
Arduino UNO:
Arduino UNO是一款低成本、开源、用于电子原型设计的微控制器板。在这个项目中,两块Arduino板将使用无线通信进行通信。
射频模块:
射频模块是一种适用于低成本应用的廉价无线通信模块。射频模块包括在无线电频率范围内工作的发射机和接收机。通常,这些模块通信的频率是315mhz或434mhz。
图像射频模块对
在这个项目中,我们使用了一个434兆赫的射频发射机-接收器对。该模块可用于通信距离达40米。
电路设计
发射机部分
发射机部分由Arduino UNO和434 MHz发射机模块组成。可以使用外部LED,但内部LED就足够了。发射机部分的设计如下。
射频发射模块由4个引脚组成:VCC, GND, Data和天线。VCC和GND引脚分别接5V和接地。数据引脚连接到Arduino的任何数字输入/输出引脚。在这里,它连接到第12针。
天线引脚必须连接到天线上,天线只是线圈形式的电线。
我们使用板载LED进行演示,但也可以使用外部LED和限流电阻。
接收部分
接收部分由Arduino UNO和434 MHz receiver模块组成。外部LED可以与限流电阻一起使用,但板载LED就足够了。Receiver部分的设计如下。
射频接收模块由4个引脚组成:VCC、GND、Data和Antenna。VCC和GND引脚分别连接到Arduino的3.3V引脚和接地。数据引脚连接到Arduino的pin 12上。
与发射模块相似的天线连接到434 MHz接收器模块的天线引脚上。连接13的板载LEDth项目中使用Arduino的pin,但可以使用外部LED。
工作过程
在这个项目中,给出了一个简单的演示,在Arduino UNO板的帮助下射频通信。该项目的目的是使用两块Arduino UNO微控制器板成功地在射频发射器-接收器模块之间传输数据。这里对项目的工作进行了说明。
请注意:该项目可以在一个名为“VirtualWire.h”的特殊库的帮助下实现,也可以不帮助。这里实现的项目使用库。如果我们想在没有库的情况下实现这个项目,那么我们需要改变电路的接收部分。
VirtualWire.h是Mike McCauley创建的Arduino专用库。它是一个通信库,允许两个Arduino使用射频模块进行通信,即发射机-接收器对。该库由几个函数组成,用于配置模块、发送模块的数据传输和接收模块的数据接收。
在这个项目中,发送器简单地发送两个字符,即它发送字符“1”和延迟几秒钟,它发送字符“0”。每当发送“1”时,项目发射侧的LED就会打开。由于这个“1”是通过射频通信传输的,接收器将接收到数据“1”。
当接收器接收到“1”时,项目接收器一侧的Arduino会打开其一侧的LED。
同样,当射频发射机传输数据“0”时,发射机侧的LED关闭。结果,接收器现在接收到“0”和接收器一侧的LED也被关闭。
因此,接收器是在模仿发射机的动作。
请注意如前所述,该项目使用了一个名为VirtualWire的特殊库。这个库使用了微控制器的“定时器”特性,可能会影响定时器的相关属性,例如PWM。
因此,下面的原理图可以用于类似的实现,而不需要使用任何库。
图像替代示意图
提供了两个项目的草图,即一个使用库,另一个不使用库。
应用程序
- 正如项目介绍中提到的,使用射频模块的无线通信有着广泛的应用,如
- RC汽车
- 家庭自动化
- 机器人
26日反应
我试着在proteus上模拟它不工作。显示错误
这两个都需要用arduino吗??
是的,我们当然需要两块Arduino板,用于接收机和发射机。
第一个射频发射机模块图中所示的连接与第二个不同,这是为什么呢?
我们可以只用一个Arduino吗?
任何Arduino板都可以。UNO, Nano,兆。
发射机和接收机的天线都要用绕线连接吗?
没有必要的。一英寸或两英寸长的简单电线就可以了。
也许你能帮忙。我如何插入温度测量在传输电路-如果温度低于22度,它发送信号到接收器
谢谢你提供明确的指示。我用Arduino做过XBee,但还没有尝试过这种方法。看起来很有趣!
我可以把发射机侧的arduino uno板拆下来用来传输数据吗
数据传输的最大范围是什么?
这样我们就可以将音频信号从发射机发送到接收器(如MANET(移动自组网))。
在这种情况下,两个手机通过蓝牙连接到单独的arduino板,如果在两边提供发射机/接收器,就可以相互通信。这在没有wifi信号和手机信号的情况下是可能的。
我有兴趣这样做,但我不知道什么类型的特设音频发射器/接收器模块
请告诉我模块名称
你好,
你在什么基础上选择阈值?
如果我把一个接收器引脚连接到其中一个数字引脚,并在0或1读取数据,尽管有所有这些上和下的阈值。它到底起作用了吗?
我如何接口一个小键盘到发射机电路,以便我可以通过按键盘上的按钮传输信号。
我如何得到两个接收器和发射机的代码有库n没有库?
我们能把发射机的范围限制到一个特定的值吗?
如果是,我们怎么做呢?
我想用这些模块rc车与4个按钮。
你能告诉我怎么编码吗?
2个按钮将运行4左右电机向前。
另外两个将反向运行它们。
为什么我的模拟使用proteus只工作在rx板而不是tx板
连接的安全性如何?任何人都可以向接收模块发送数据吗?还是只有给定的发射器才能发送数据?
有用的信息
我是初学者。
我怎么上传源代码到arduino没有连接PC到arduino??
您需要一台带有Arduino IDE的PC来编译并上传代码到Arduino。虽然,有一个Android应用程序可以作为PC版(编译和上传)。在谷歌Play Store中搜索它。
谢谢,先生,这是工作
如何在串行监视器中显示接收到的值,并将该值设置为一个新变量。
先生,我可以从一个arduino导入文本文件到另一个arduino使用射频发射器和接收器请告诉我。