在本Arduino教程中,我们将学习如何使用HC-12无线串行通信模块,该模块能够在多个Arduino板之间进行远距离无线通信,距离可达1.8公里

Arduino和HC-12远程无线通信模块

概述

在本教程中,我给出了两个基本示例,解释了如何连接HC-12模块以及如何在两个Arduino之间进行基本通信,另一个示例是在第一个Arduino上使用加速度传感器,而第二个无线控制步进器的位置。

HC-12无线通信模块

首先,让我们仔细看看HC-12无线串行端口通信模块。以下是一些规范:

其无线工作频段为433.4 MHz至473.0 MHz
它共有100个通道,每个通道之间的步进为400 KHz
发射功率为-1dBm(0.79mW)至20dBm(100mW)
接收灵敏度为-117dBm(0.019pW)至-100dBm(10pW)

这些值实际上取决于表中所选的串行和无线波特率。

HC-12模块具有一个微控制器,实际上用户无需对其进行编程。 为了配置模块,我们仅使用AT命令,可以使用串行端口从Arduino,PC或任何其他微控制器发送AT命令。 要进入AT命令模式,我们只需要将模块的“设置”引脚设置为低逻辑电平即可。

Arduino和HC-12

现在,将HC-12模块连接到Arduino,并做第一个例子。 这是电路原理图。 模块的工作电压为3.2 V至5.5 V,为使工作更稳定,建议使用去耦电容器和外部电源。 但是,在本教程中的所有三个示例中,我都使用PC USB作为电源,因此没有任何问题。

图略

我将第一个模块连接到Arduino UNO,将第二个模块连接到Arduino MEGA,但是当然,您可以使用任何需要的板。

示例01 – Arduino代码

这是第一个示例的Arduino代码,这是使用串行监视器在两个模块之间进行的基本通信。

#include <SoftwareSerial.h>
SoftwareSerial HC12(10, 11); // HC-12 TX Pin, HC-12 RX Pin
void setup() {
 Serial.begin(9600); // Serial port to computer
 HC12.begin(9600); // Serial port to HC12