- Arduino 教程
- Arduino - 首页
- Arduino - 概述
- Arduino - 开发板描述
- Arduino - 安装
- Arduino - 程序结构
- Arduino - 数据类型
- Arduino - 变量与常量
- Arduino - 运算符
- Arduino - 控制语句
- Arduino - 循环
- Arduino - 函数
- Arduino - 字符串
- Arduino - 字符串对象
- Arduino - 时间
- Arduino - 数组
- Arduino 函数库
- Arduino - I/O 函数
- Arduino - 高级 I/O 函数
- Arduino - 字符函数
- Arduino - 数学库
- Arduino - 三角函数
- Arduino 高级
- Arduino - Due & Zero
- Arduino - 脉宽调制
- Arduino - 随机数
- Arduino - 中断
- Arduino - 通信
- Arduino - 互连集成电路
- Arduino - 串行外设接口
- Arduino 项目
- Arduino - 闪烁 LED
- Arduino - 渐变 LED
- Arduino - 读取模拟电压
- Arduino - LED 条形图
- Arduino - 键盘注销
- Arduino - 键盘消息
- Arduino - 鼠标按钮控制
- Arduino - 键盘串口
- Arduino 传感器
- Arduino - 湿度传感器
- Arduino - 温度传感器
- Arduino - 水位检测器/传感器
- Arduino - PIR 传感器
- Arduino - 超声波传感器
- Arduino - 连接开关
- 电机控制
- Arduino - 直流电机
- Arduino - 伺服电机
- Arduino - 步进电机
- Arduino 和声音
- Arduino - 音调库
- Arduino - 无线通信
- Arduino - 网络通信
- Arduino 有用资源
- Arduino - 快速指南
- Arduino - 有用资源
- Arduino - 讨论
Arduino - 无线通信
无线发射器和接收器模块的工作频率为 315MHz。它们可以轻松地安装在面包板上,并与微控制器配合使用,从而创建非常简单的无线数据链路。一对发射器和接收器只能单向通信数据,但是,如果需要双向通信,则需要两对(不同频率)模块作为发射/接收对。
注意 − 这些模块是非选择性的,会接收相当多的噪声。发射器和接收器都在常用频率下工作,并且没有 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 × 射频链路发射器
- 1 × 射频链路接收器
步骤
按照电路图,并按照下图所示进行连接。
草图
在您的计算机上打开 Arduino IDE 软件。使用 Arduino 语言进行编码将控制您的电路。通过点击“新建”打开一个新的草图文件。
注意 − 您必须在 Arduino 库文件中包含键盘库。将 VirtualWire.lib 文件复制并粘贴到 libraries 文件夹中,如下面的屏幕截图中突出显示的那样。
发射器 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); } } }
代码说明
当接收到字符“1”时,连接到 Arduino 开发板 5 号引脚的 LED 将点亮,当接收到字符“0”时,LED 将熄灭。
广告