🍓Arduino远程无线通信
Arduino | 远程 | 无线
在本Arduino教程中,我们将学习如何使用HC-12无线串行通信模块,该模块能够在多个Arduino板之间进行远距离无线通信,距离可达1.8公里。
概述
在本教程中,我给出了两个基本示例,解释了如何连接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代码,这是使用串行监视器在两个模块之间进行的基本通信。
两个Arduino使用相同的代码。我们可以在两个单独的计算机上连接两个Arduino,但是也可以使用一台计算机。
在这种情况下,一旦我们将第一个Arduino连接到计算机,就需要选择模型和COM端口,并将代码上传到Arduino。 然后,我们连接第二个Arduino,我们必须再次启动Arduino IDE,以便能够选择第二个Arduino连接到的另一个COM端口,然后上传相同的代码。
因此,一旦我们运行了两个Arduino IDE,就可以启动串行监视器并测试通信是否正常工作。我们在串行监视器中键入的任何内容都会从一个发送到另一个Arduino。
代码的工作方式:因此,一旦我们在串行监视器中键入内容并单击“发送”按钮,在第一个Arduino上,带有Serial.available()函数的while循环将变为true,并使用HC12.write()函数,我们将 数据从串行监视器发送到HC-12模块。 此模块会将数据无线传输到第二个HC-12模块,因此在第二个Arduino上,带有HC12.available()函数的while循环将变为true,并使用Serial.write()函数将数据发送到串行监视器。
我们可以使用相同的代码发送AT命令和配置模块参数。我们要做的就是将模块的“设置”引脚连接到地面或Arduino的任何数字引脚,并将该引脚设置为低逻辑电平。
要测试我们是否已成功进入该模式,在串行监视器中,我们可以键入“ AT”,并且应该获得一个响应消息“ OK”。 共有12个AT命令,它们用于更改各种参数,例如波特率,通道,发射功率等。例如,如果键入``AT B38400'',则模块的波特率将设置为38400 。
示例02 – Arduino代码
现在看第二个示例。在这里,我们将使用两个按钮来选择不同的通信通道,并查看存储传入数据的不同方法。
源代码
🏈指点迷津 | BriefLast updated