通过蓝牙实现 Arduino 到 Arduino 控制

发布人是

普通人在听到“蓝牙”这个词时可能会想到音频耳机或扬声器。这两种设备都使用了蓝牙技术,但是电子产品发烧友们都知道,除了用来收听喜欢的播客,这种短距离通信方法还可用于许多其他领域。

蓝牙技术可通过许多有趣且新颖的方式传送信息。我们最喜欢的使用方式之一便是将基于 Arduino 的机器人或其他设备与用于进行控制的智能手机进行配对。

本文介绍了如何开始使用蓝牙技术,从而开启您的下一个 Arduino 机器人项目。

Arduino 到 Arduino 蓝牙通信的工作原理

借助蓝牙串行信号,您的手机可以对 Arduino 设备进行完美控制,就像二者之间存在硬件连接一样。在这种情况下,Bluetooth TerminalArduinoRC 等应用可以发挥出色的作用,将您的手机转化成接口设备。

不仅如此,通过适当设置,您还可以让两个 Arduino 板互相通信,而无需使用任何计算机或手机。Arduino 到 Arduino 通信要更为复杂一点,但是这种通信方式提供了无限的控制可能性。

第 1 步:构建电路

Arduino Nano Bluetooth Fritzing

为了构建该电路,您需要构建一对完全相同的电路试验板,如上方的 Fritzing 图所示。这两个电路试验板都将使用 Arduino Nano 来通过 HC-05 蓝牙模块传送数据,以便配对设备接收该数据并通过板载 LED 的闪烁来进行响应。您可以通过计算机的串行接口从一个 Arduino 设备向另一个 Arduino 设备发送信号,按钮输入则是一种进行无线字符传输的快捷方式。

构建电路所需的零件:

  • (2 个)Arduino Nano
  • (2 个)电路试验板
  • (2 个)HC-05 蓝牙模块
  • (2 个)按钮
  • (2 个)1k 电阻器
  • (2 个)2k 电阻器
  • (2 个)20k 电阻器
  • 跳线
  • (2 根)mini-USB 电缆

 

注意:您可以根据自己的偏好替换其中的许多零件。例如,Arduino Uno 具有与 Nano 相同的功能。而且在电路图中,您可以看到,我们在 HC-05 的 RX 引脚上使用了一个分压器。HC-05 模块的工作电压为 3.3V,因此我们做出了这样的决定,这是为了防止向该引脚提供过高的电压。

 

 

进行模块配对

Arduino IDE - Bluetooth Communication

图 2:通过再打开一个 Arduino IDE 实例,您可以同时使用两个独立的试验板。

完成电路设置后,您将需要设置两个要彼此进行通信的蓝牙模块。以下是后续的步骤:

  1. 此处的 HC-05_AT_MODE_01 代码传输至您的某一个 Arduino 板。然后,为相应的 HC-05 蓝牙模块通电并按住该试验板的按钮,使该模块进入 AT 模式。

  2. 在该试验板启动时,板载 LED 将会慢速闪烁。在您的 Arduino IDE 中打开一个串行显示器,然后输入“AT”。如果一切正常,终端将会返回一个“OK”响应。

  3. 输入“AT+ROLE=1”将您的 HC-05 设置为主模块;然后输入“AT+CMODE=1”,使其能够与任何地址(模块)配对。

  4. 重置设备,您的 HC-05(现在是作为主模块)将会与其他 HC-05 配对,后者通常会随之被设置为从属模块。

如果您需要将某个主模块变成从属模块,请根据上述说明以串行方式连接该模块并输入 AT+ROLE=0。您也可以使用 HC-06 模块,但该模块只能用于从属模式。使用第 1 步中关联的代码可获得更多详情。您还可以按照这些更为深入的说明混合使用这两种模块。

当您使用这样的两个 Arduino 板时,加载两个 Arduino IDE 实例将会非常有用(通过快捷方式,不使用 IDE 中的 file/new [文件/新建] 或 file/open [文件/打开] 方式)。这样您便可以同时进行程序加载和串行端口监视,大大简化编程和故障排除工作。

加载程序并测试

Arduino to Arduino Bluetooth Communication

图 3:按下按钮即可打开另一个 Arduino Nano 上的灯。在编程过程中,便利贴会指明所使用的串行端口,从而将两个试验板区分开。

连接 HC-05/Arduino 后,请将此处的软件加载到各个 Arduino 上,并按以下步骤操作:

  1. 为每个 IDE 实例打开一个串行显示器,然后输入“O”和“F”(区分大小写)进行试验。
  2. 您应该得到相反的试验板响应,即板载 LED 打开和关闭。按下按钮。该操作将会向对面的试验板发送“B”字符,且 LED 会短暂闪烁。
  3. 您也可以通过在串行显示器中输入“B”来测试该功能。
  4. 确信一切正常后,您可以断开任一侧的组件并将其移到室内的另一侧,使指示灯反复闪烁。

您现在已经连接了两个 Arduino 板,接下来便可以进行一些创意性的设计了。或许您一直都是使用手机来通过蓝牙控制您的机器人,但是您更想使用物理键盘。或许您想要设计一个可远程操作的自定义计算机界面。蓝牙技术可让您的机器人项目具备便携能力。

相关新闻文章

最新消息

Sorry, your filter selection returned no results.

请仔细阅读我们近期更改的隐私政策。当按下确认键时,您已了解并同意艾睿电子的隐私政策和用户协议。

本网站需使用cookies以改善用户您的体验并进一步改进我们的网站。此处阅读了解关于网站cookies的使用以及如何禁用cookies。网页cookies和追踪功能或許用于市场分析。当您按下同意按钮,您已经了解并同意在您的设备上接受cookies,并给予网站追踪权限。更多关于如何取消网站cookies及追踪的信息,请点击下方“阅读更多”。尽管同意启用cookies追踪与否取决用户意愿,取消网页cookies及追踪可能导致网站运作或显示异常,亦或导致相关推荐广告减少。

我们尊重您的隐私。请在此阅读我们的隐私政策。