无线发射器和接收器模块工作在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代码

//simple Tx on pin D12
#include <VirtualWire.h>
char *controller;

void setup() {
   pinMode(13,OUTPUT);
   vw_set_ptt_inverted(true);
   vw_set_tx_pin(12);
   vw_setup(4000);// speed of data transfer Kbps
}

void loop() {
   controller="1" ;
   vw_send((uint8_t *)controller, strlen(controller));
   vw_wait_tx(); // Wait until the whole message is gone
   digitalWrite(13,1);
   delay(2000);
   controller="0" ;
   vw_send((uint8_t *)controller, strlen(controller));
   vw_wait_tx(); // Wait until the whole message is gone
   digitalWrite(13,0);
   delay(2000);
}

代码说明

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

接收器的Arduino代码

//simple Rx on pin D12
#include <VirtualWire.h>

void setup() {
   vw_set_ptt_inverted(true); // Required for DR3100
   vw_set_rx_pin(12);
   vw_setup(4000); // Bits per sec
   pinMode(5, OUTPUT);
   vw_rx_start(); // Start the receiver PLL running
}

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);
      }
   }
}

代码说明

连接到Arduino板上引脚号5的LED在接收到字符\'1\'时变为ON,当接收到字符\'0\'时变为OFF。

新闻动态 联系方式 广告合作 招聘英才 安科实验室 帮助与反馈 About Us

Copyright © 2013 - 2019 Ancii.com All Rights Reserved京ICP备18063983号-5 京公网安备11010802014868号