Arduino开发实例-433M无线模块数据发送与接收

433M无线模块数据发送与接收

435m无线模块广泛地运用在车辆监控、遥控、遥测、小型无线网络、无线抄表、门禁系统、小区传呼、工业数据采集系统、无线标签、身份识别、非接触RF智能卡、小型无线数据终端、安全防火系统、无线遥控系统、生物信号采集、水文气象监控、机器人控制、无线232数据通信、无线485/422数据通信、数字音频、数字图像传输等领域中。

在这里插入图片描述

下面将通过433M无线模块实现数据的送与接收。

1、硬件准备

  • 433M无线发送模块一个、接收模块一个
  • Arduino UNO R3开发板两个及两根数据线
  • 杜绑若干
  • 笔记本电脑一台

2、软件准备

  • Arduino IDE
  • Arduion 433M/315M无线数据收发库:RadioHead

3、发送模块硬件接线及代码实现

在这里插入图片描述

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <RH_ASK.h>
#include <SPI.h> // Not actually used but needed to compile

RH_ASK driver;

void setup()
{
Serial.begin(9600); // Debugging only
if (!driver.init())
Serial.println("init failed");
}

void loop()
{
const char *msg = "Hello World!";
driver.send((uint8_t *)msg, strlen(msg));
driver.waitPacketSent();
delay(1000);
}

4、接收模块硬件接线及代码

在这里插入图片描述

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <RH_ASK.h>
#include <SPI.h> // Not actualy used but needed to compile

RH_ASK driver;

void setup()
{
Serial.begin(9600); // Debugging only
if (!driver.init())
Serial.println("init failed");
}

void loop()
{
uint8_t buf[12];
uint8_t buflen = sizeof(buf);
if (driver.recv(buf, &buflen)) // Non-blocking
{
int i;
// Message with a good checksum received, dump it.
Serial.print("Message: ");
Serial.println((char*)buf);
}
}

5、程序运行结果

在这里插入图片描述

文章来源: https://iotsmart.blog.csdn.net/article/details/114163393