在这个项目中,我们将学习HC-05蓝牙模块,如何使用Arduino接口此蓝牙模块以及HC-05蓝牙模块如何用于通过无线通信(蓝牙)控制Arduino板。
介绍
蓝牙通信是2.4GHz基于频率的RF通信,范围为约10米。它是数据传输,音频系统,免提,计算机外围设备等最受欢迎和最常用的低范围通信之一。
谈到蓝牙通信在DIY项目中的应用,HC-05蓝牙模块是首选设备。我已经实现了几个项目使用HC-05蓝牙模块像机械手臂那家庭自动化那LED矩阵等等。
但在所有这些项目中,除了完成项目所需的内容外,我没有过多讨论蓝牙模块。所以,在这个项目/教程中,我将稍微谈谈HC-05模块。
关于HC-05蓝牙模块的简要说明
如果你看看周围的电子DIY和爱好者社区,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通信。
关于蓝牙模块的引脚,一般来说,4个引脚就足以成功实现无线通信链路,但现在生产的模块有6个引脚,即:VCC, GND, TX, RX, EN和STATE。
下图显示了典型的HC-05蓝牙模块上的引脚和其他组件。
需要记住的一点是,HC-05蓝牙模块工作在3.3V的逻辑电平上。因此,板上使用3.3V调节器。
注意:主板上的按钮用于在命令模式下配置蓝牙模块。该项目未讨论该模块的这一部分。
针描述
- EN:它是启用销。当此引脚浮动或连接到3.3V时,将启用模块。如果此引脚连接到GND,则禁用模块。
- + 5 v:这是连接+ 5V的供应销。由于该模块具有板载3.3V稳压器,您可以提供+ 5V电源。
- 接地:这是接地销。
- Tx:它是UART通信的发送器引脚。
- 处方:它是UART的接收引脚。
- 状态:这是一个状态指示器引脚。当模块未连接到任何设备时,该引脚会降低。当模块与任何设备配对时,该引脚会变高。
注意:板载LED用于指示连接状态。模块未配对时,LED闪烁或反复闪烁。模块配对完成后,LED以恒定的2秒的延时闪烁。
的操作模式
HC-05蓝牙模块可以以两种操作模式配置:命令模式和数据模式。
在命令模式下,您可以通过AT命令与蓝牙模块通信,以配置模块的各种设置和参数,如获取固件信息,更改UART波特率,更改模块名称,将其设置为主设备或从属等。
HC-05模块的重要一点是,它可以在通信对中配置为Master或Slave。为了选择任何一种模式,您需要激活命令模式并发送适当的AT命令。
在数据模式下,在此模式下,该模块用于与其他蓝牙设备通信即,在此模式下发生数据传输。
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 -引脚19和18)与蓝牙通信。
代码
适用于蓝牙通信
我正在使用一个简单的Android应用程序,称为“蓝牙控制器”,用于使用我的Android手机和传输数据配对HC-05。在开发此项目时,播放商店中不再可用此特殊蓝牙控制器应用程序。
但我喜欢它的简单性和易用性。如果要使用相同的应用程序,则可以从以下链接下载蓝牙控制器。
连接手机到HC-05蓝牙模块
在蓝牙模块上进行连接和电源。如果这是您第一次使用蓝牙模块,那么LED将迅速闪烁。要将模块与手机配对,请在手机中打开蓝牙设置,并使用PIN“1234”连接到“HC-05”。如果1234不起作用,请尝试“0000”。
一旦蓝牙模块与您的手机配对,您可以开始使用应用程序。打开蓝牙控制器应用程序,点击扫描。屏幕上将出现蓝牙设备列表。选择HC-05。
现在,在应用程序中选择Set键选项,然后输入以下信息:
键名钥匙的数据
领导1日
LED 0.
输入此信息后,单击“确定”保存。现在,在应用程序的主屏幕上,您可以看到两个按钮(或插槽),标题为“LED”和“LED OFF”。如果您单击LED,则将通过蓝牙通信传输到HC-05模块,然后将其传输到Arduino。
如果你点击LED OFF, ' 0 '将被发送。Arduino根据接收到的数据打开LED的ON或OFF。
一个回应
你好,我的项目遇到了一些挑战。
我正在尝试为“Master”和“Slave”控制器构建单个草图。唯一的区别是,“Master”将拥有带有Arduino的HC-05单位,“奴隶”不会。
如何在草图中检测到BT适配器是否存在/是通电的?