蓝牙接口:如何与蓝牙模块进行接口
当大多数人开始使用 Arduino 微控制器时,他们并不了解所有可用的扩展模块和扩展板。虽然 Arduino Uno 是全球最受欢迎的微控制器之一,但它不具备蓝牙连接功能。
当然,您可以购买具有内置蓝牙功能的板,例如 Arduino BT 或 Raspberry Pi 4,它们具有内置蓝牙功能。但是,这些板更昂贵、更笨重,并且在您的项目中使用起来可能不太有趣。那么,当您想将蓝牙连接添加到没有蓝牙连接的微控制器时,您会怎么做?
您最好的选择是将其与蓝牙模块连接。因此,本指南将向您展示如何将微控制器与蓝牙模块连接。这将允许您将微控制器无线连接到支持蓝牙的设备,例如智能手机和计算机。
什么是蓝牙接口

蓝牙传感器、面包板和 Arduino Uno
今天,蓝牙是世界上最普遍的无线连接标准之一。我们使用它在设备之间传输和交换数据。蓝牙接口描述了使用或启用蓝牙设备。虽然我们使用 Wi-Fi 等标准进行远程连接,但我们使用蓝牙进行短距离连接和数据传输。但是,最新的蓝牙标准 (5.2) 可以达到 400m 的范围,数据速率为 2 Mbps。
我们可以期待未来的版本能够以更高的阈值和吞吐量实现更远的距离。尽管如此,每次您使用手机传输数据或连接到另一台设备时,本质上都是蓝牙接口。同样,许多微控制器没有内置蓝牙功能。因此,如果要实现与它们的蓝牙接口,则需要对其进行扩展或添加另一块板。
接下来,我们将向您展示如何使用蓝牙模块将蓝牙接口添加到微控制器。
蓝牙模块及其工作原理

蓝牙模块
蓝牙模块允许您将微控制器和单板计算机与外部设备连接起来。我们也可以将它们称为蓝牙传感器。不过,只有当您的主板没有任何内置蓝牙功能时,才需要这些设备。最常见的蓝牙模块是 HC-05 和 HC-06。
当您购买蓝牙模块时,您会发现它是一块蓝色分线板上的绿色矩形。分线板为蓝牙模块提供引脚,可让您轻松将其插入面包板。
对于简单的应用,HC-05 和 HC-06 在其从属模式下的工作方式相同。但是,我们建议您使用 HC-05,因为它允许您在从模式和主模式之间切换。相比之下,HC-06 只能作为从设备操作。因此,如果您想连接两个 Arduino 项目,您需要一个 HC-05 蓝牙模块,以便它可以启动蓝牙连接并进行设置。
蓝牙模块的结构
如果您查看蓝牙模块的背面,您会发现引脚分配的标签。在大多数情况下,您只需要担心电源引脚。主要是VCC和地(GND)。但是,除了这些引脚之外,我们还有数据引脚——RXD 和 TXD。
RXD 接收数据,而 TXD 发送数据。如果您使用的是 HC-05,您会注意到 HC-06 没有的两个引脚。我们将这些引脚称为启用 (EN) 和状态输出引脚 (STATE)。您可能还会听到人们将启用引脚称为关键引脚。
使用蓝牙模块时,您需要特别注意电源电压。任何介于 3.6 伏和 6 伏之间的电压都是安全的。数据引脚将需要 3.3 伏数字信号。
如何将蓝牙模块与您的 Arduino 项目和手机连接

蓝牙传感器
为了向您展示蓝牙接口的工作原理,我们提供了一个基本教程,介绍如何使用蓝牙模块将您的 Arduino 项目连接到您的手机。
需要的组件
- 蓝牙模块 HC-05 或蓝牙模块 HC-06
- 面包板
- 阿杜诺乌诺
- 2.2kΩ 电阻器
- 5.7KΩ电阻
- 实芯线
- Arduino IDE 软件
说明
设置硬件
- 连接 Arduino Uno 上 5V 和 GND 引脚的电线,将它们安装到面包板上的电源轨上;然后将它们馈送到您的蓝牙模块,连接到 VCC 和 GND 引脚。
- 将 Arduino Uno 的发送引脚连接到面包板,同时使用电阻创建与 GRAND 串联的分压器。中心应分接并连接到 RXC 引脚。这是因为蓝牙模块需要较低的发射电压电平。
- 通过从 Arduino Uno 上的接收引脚穿过面包板的导线为 HC-05 上的 TXD 引脚供电。
如果你正确地按照上面的接线步骤,你的项目应该是这样的:

Arduino Uno 连接到 HC-05 模块
设置软件
为了让我们的项目正常运行,我们需要编写代码,让我们能够监听数据并从蓝牙源接收数据。然后,我们将使用我们的串行端口将结果打印回计算机。
所以我们基本上将这个项目用作计算机的蓝牙接收器。因此,我们必须为蓝牙终端编写一个草图。

蓝牙终端草图 1
步骤 1
我们需要使用软件串行库中的一些函数和类。它们将允许 Arduino 通过蓝牙进行通信。因此,您必须将其包含在草图中。
第 2 步
导入库后,您需要指定用于发送和接收数据的串行引脚。在上面的示例中,我们将引脚 9 用作接收引脚 (rxPin),将引脚 8 用作发送引脚 (txPin)。
第三步
接下来,使用我们在上一步中定义的值作为参数来实例化一个软件串行(SoftwareSerial)对象。在上面的示例中,我们将软件串行对象命名为 BTSerial。
第四步
接下来,定义一个名为 setup 的新函数。它定义了哪些引脚用于输入和输出。默认情况下,HC-05 蓝牙模块以 9600 波特率与 Arduino 通信;我们可以修改它。但是,我们在示例中保持不变,因为它更接近准确的波特率。
第 5 步
接下来,定义两个我们将用于消息的字符串变量。最后,创建一个带有 while 循环的 Arduino 循环函数。我们将使用这个循环来监听 Arduino 和蓝牙设备之间的任何通信。
如果 Arduino 收到任何数据,它将使用分号作为行终止符将其打印出来。

蓝牙终端草图 2
一旦你写好了草图,你需要把它上传到你的 Arduino。接下来,您需要将手机与 Arduino 项目配对。这将允许您的手机与蓝牙模块进行通信。
与蓝牙设备通信
当您使用按钮开关打开 Arduino 时,您应该会注意到蓝牙模块发出闪烁的红灯。这表明它处于配对模式。您需要进入手机的蓝牙设置并扫描附近的任何设备。
在可用设备下,您应该会看到与您的模块相关的条目。选择条目并将其与您的手机配对。它会要求您输入配对码。配对码通常为“1234”。现在您已经配对了设备,您可以开始与它通信了。但是,您需要一个移动应用程序来执行此操作。
导航到手机的应用商店并下载串行蓝牙终端应用。该应用程序需要一个终端,允许您键入消息,然后将它们发送到您的项目。此外,您还需要能够查看从设备收到的通知。
确保您决定使用的应用程序与经典蓝牙(Bluetooth Classic)兼容,否则它可能无法与您的项目一起使用。
下载应用程序后,返回计算机,打开 Arduino IDE 并打开蓝牙草图的串行监视器。确保串行监视器使用 9600 波特或您之前指定的波特数。
返回手机上的蓝牙终端应用程序,选择 Arduino 蓝牙项目作为设备。连接后,您可以在终端应用程序中键入消息。确保在消息末尾添加分号 (;) 以表示消息结束。
总结
如果您正确执行上述步骤,您应该会收到一个输出,通知您 Arduino 项目已收到一条消息。该消息也应该通过 Arduino IDE 的串行终端出现在您的计算机屏幕上。同样,这是一个适合新手和初学者的简单项目。一旦你了解了基础知识,你就可以从事更复杂的项目。例如,您可以添加按钮、板载 LED 或直流电机。您甚至可以使用它通过电子邮件发送帖子。尽管如此,我们希望本指南对您有所帮助。一如既往,感谢您的阅读。
工业技术