Arduino - 无线通信

Arduino - 无线通信

❮ 上一节

下一节 ❯

Arduino - 无线通信

无线发射器和接收器模块的工作频率为 315 Mhz。它们可以轻松装入面包板,并与微控制器配合使用,以创建非常简单的无线数据链路。使用一对发射器和接收器,模块只能单向传输数据,但是,您需要两对(不同频率)作为发射器/接收器对。

注意 − 这些模块不分青红皂白,会接收大量噪音。发射器和接收器都以公共频率工作,没有 ID。

接收器模块规格

产品型号 − MX-05V

工作电压 − DC5V

静态电流 − 4mA

接收频率 − 315Mhz

接收灵敏度 − -105DB

尺寸 − 30*14*7mm

发射模块规格

产品型号 − MX-FS-03V

发射距离 − 20-200米(电压不同,效果不同)

工作电压 − 3.5-12V

尺寸 − 19*19mm

工作模式 − AM

传输速率 − 4KB/S

发射功率 − 10mW

发射频率 − 315Mhz

外置天线 − 25cm普通多芯或单芯线

引脚排列从左 → 右 − (DATA; VCC; GND)

所需组件

您将需要以下组件 −

2 × Arduino UNO 板

1 × Rf 链路发射器

1 × Rf 链路接收器

步骤

按照电路图进行连接,如下图所示。

草图

在您的计算机上打开 Arduino IDE 软件。使用 Arduino 语言进行编码将控制您的电路。单击新建打开一个新的草图文件。

注意 − 您必须在 Arduino 库文件中包含键盘库。复制并粘贴 VirtualWire.lib 文件到库文件夹中,如下方屏幕截图所示。

Arduino 发射器代码

//引脚 D12 上的简单 Tx

#include

char *controller;

void setup() {

pinMode(13,OUTPUT);

vw_set_ptt_inverted(true);

vw_set_tx_pin(12);

vw_setup(4000);// 数据传输速度 Kbps

}

void loop() {

controller="1" ;

vw_send((uint8_t *)controller, strlen(controller));

vw_wait_tx(); // 等待整个消息消失

digitalWrite(13,1);

delay(2000);

controller="0" ;

vw_send((uint8_t *)controller, strlen(controller));

vw_wait_tx(); // 等待整个消息消失

digitalWrite(13,0);

delay(2000);

}

需要注意的代码

这是一个简单的代码。首先,它将发送字符"1",两秒后它将发送字符"0",依此类推。

接收器的 Arduino 代码

//引脚 D12 上的简单 Rx

#include

void setup() {

vw_set_ptt_inverted(true); // DR3100 所需

vw_set_rx_pin(12);

vw_setup(4000); // 每秒位数

pinMode(5, OUTPUT);

vw_rx_start(); // 启动接收器 PLL 运行

}

void loop() {

uint8_t buf[VW_MAX_MESSAGE_LEN];

uint8_t buflen = VW_MAX_MESSAGE_LEN;

if (vw_get_message(buf, &buflen)) // Non-blocking {

if(buf[0]=='1') {

digitalWrite(5,1);

}

if(buf[0]=='0') {

digitalWrite(5,0);

}

}

}

需要注意的代码

当接收到字符"1"时,连接到 Arduino 板上 5 号引脚的 LED 亮起,当接收到字符"0"时,LED 熄灭。

❮ 上一节

下一节 ❯

相关作品

三国志13威力加强版武名委托任务怎么完成 武名委托玩法详解
精灵盛典中哪个职业最强?三种职业特性大揭秘!
俠盜獵車手 5 (GTA 5) online版快速提升等級方法整理