在这个项目中,我们将学习HC-05蓝牙模块,如何使用Arduino接口此蓝牙模块以及HC-05蓝牙模块如何用于通过无线通信(蓝牙)控制Arduino板。
介绍
蓝牙通信是2.4GHz基于频率的RF通信,范围为约10米。它是数据传输,音频系统,免提,计算机外围设备等最受欢迎和最常用的低范围通信之一。
使用DIY项目中的蓝牙通信来使用HC-05蓝牙模块是转到设备。我使用HC-05蓝牙模块实现了几个项目机器人手臂那家庭自动化那LED矩阵等等。
但在所有这些项目中,我尚未讨论蓝牙模块,除了需要完成项目所需的内容。因此,在这个项目/教程中,我将谈谈HC-05模块。
关于HC-05蓝牙模块的简要说明
如果您浏览电子DIY和Hobbyists社区,HC-05蓝牙模块是实现基于蓝牙通信的项目的选择设备。HC-05蓝牙模块是基于蓝牙协议的简单无线通信设备。
该模块基于BC417单芯片蓝牙IC,符合蓝牙V2.0标准,并支持UART和USB接口。
通常,HC-05蓝牙模块或HC-05子模块要精确,请伴随BC417 IC以及闪存。这种模块作为表面贴装板,几个第三方制造商使用这些板可以使用必要的引脚和组件来构建更完整的系统。
以下图像显示了一个这样的HC-05蓝牙子模块(安装在蓝板上的绿色板)被用作完整蓝牙模块的一部分。
HC-05蓝牙模块的引脚
HC-05模块支持UART,USB以及SPI通信以及根据应用程序,可以使用必要的引脚。在我的情况下,电路板使用UART通信。
通过蓝牙模块的引脚,通常,四个引脚足以成功启用无线通信链路,但现在产生的模块六个引脚即:VCC,GND,TX,RX,EN和状态。
下图显示了典型的HC-05蓝牙模块上的引脚和其他组件。
要记住的一个重要点是HC-05蓝牙模块适用于3.3V的逻辑电平。因此,在板上使用3.3V调节器。
笔记:主板上的按钮用于在命令模式下配置蓝牙模块。该项目未讨论该模块的这一部分。
针描述
- en:它是启用销。当此引脚浮动或连接到3.3V时,将启用模块。如果此引脚连接到GND,则禁用模块。
- + 5V:这是连接+ 5V的供应销。由于该模块具有板载3.3V稳压器,您可以提供+ 5V电源。
- GND:它是地面销。
- Tx:它是UART通信的发送器引脚。
- rx:它是UART的接收密码。
- 状态:这是一个状态指示器引脚。当模块未连接到任何设备时,该引脚会降低。当模块与任何设备配对时,该引脚会变高。
笔记:板载LED用于指示连接的状态。当模块未配对时,LED反复闪烁或闪烁。一旦模块配对,LED会在2秒的恒定延迟时闪烁。
操作模式
HC-05蓝牙模块可以以两种操作模式配置:命令模式和数据模式。
在命令模式下,您可以通过AT命令与蓝牙模块通信,以配置模块的各种设置和参数,如获取固件信息,更改UART波特率,更改模块名称,将其设置为主设备或从属等。
关于HC-05模块的一个重要点是它可以在通信对中配置为主设备或从站。为了选择任何一种模式,您需要激活命令模式并在命令时发送适当。
在数据模式下,在此模式下,该模块用于与其他蓝牙设备通信即,在此模式下发生数据传输。
HC-05蓝牙模块的默认设置
以下是HC-05蓝牙模块的少数默认设置的列表。
- 名称:HC-05
- 密码:1234(或0000)
- 类型:奴隶
- 模式:数据
- 波特率:9600带8个数据位,无奇偶校验和1个停止位
具有Arduino的HC-05蓝牙模块的电路图
为了展示HC-05模块和Arduino之间的连接,我设计了一个简单的电路。
该电路的目的是将蓝牙模块与Arduino连接,使用Android手机对蓝牙模块,使用简单的应用程序将数据从Android手机发送到蓝牙模块,通过Arduino从蓝牙模块读取数据,最后,显示数据和控制基于数据的设备。
以下图像显示Arduino Mega和HC-05之间的连接的电路图。
笔记:我和Arduino Mega一起走了,因为它有多个硬件UART端口。在此项目中,我正在使用Arduino Mega的默认串行端口,用于与计算机(串行监视器)和串行1(RX1和TX1-PIN 19和18)通信,以便与蓝牙进行通信。
代码
适用于蓝牙通信
我正在使用一个简单的Android应用程序,称为“蓝牙控制器”,用于使用我的Android手机和传输数据配对HC-05。在开发此项目时,播放商店中不再可用此特殊蓝牙控制器应用程序。
但我喜欢它的简单性和易用性。如果要使用相同的应用程序,则可以从以下链接下载蓝牙控制器。
将电话连接到HC-05蓝牙模块
在蓝牙模块上进行连接和电源。如果这是您第一次使用蓝牙模块,那么LED将迅速闪烁。要将模块与手机配对,请在手机中打开蓝牙设置,并使用PIN“1234”连接到“HC-05”。如果1234不起作用,请尝试“0000”。
蓝牙模块与手机配对后,您可以开始使用该应用程序。打开蓝牙控制器应用程序,然后单击“扫描”。屏幕上将出现蓝牙设备列表。选择HC-05。
现在,在应用程序中选择Set键选项,然后输入以下信息:
关键名称钥匙的数据
LED 1
LED 0.
输入此信息后,单击“确定”保存。现在,在应用程序的主屏幕上,您可以看到两个按钮(或插槽),标题为“LED”和“LED OFF”。如果您单击LED,则将通过蓝牙通信传输到HC-05模块,然后将其传输到Arduino。
如果您单击“OFF”,则将传输“0”。然后,Arduino根据接收的数据打开或关闭LED。
一个反应
嗨,我与我的项目有一定的挑战。
我正在尝试为“Master”和“Slave”控制器构建单个草图。唯一的区别是,“Master”将拥有带有Arduino的HC-05单位,“奴隶”不会。
如何在草图中检测到BT适配器是否存在/是通电的?