HC-05蓝牙模块引脚配置_工作原理_Arduino连接电路
HC-05是最好的使用UART(串口)通信协议的蓝牙模块,由于其多个引脚及功能,HC-05蓝牙模块在功能上与所有其它蓝牙模块有很大不同。它具有用于不同方法的多个引脚,这使得它与其它产品相比独一无二。
HC-05模块通常以9600波特率与TX和RX引脚进行UART串行通信。它提供双向通信方法,HC-05可以充当从机和主机。由于其局限性,该蓝牙模块仅提供短距离通信,但由于其速度和安全性,大多数设备都配备了它。
此外,HC-05模块的局限性是它不允许传输任何类型的媒体。
引脚配置
HC-05带有多个引脚和指示灯,有助于控制不同的操作并通过指示灯查看其状态。下面引脚分配图提供了所有引脚的指示,这也说明了每个引脚的功能,具体如下图所示:
引脚配置功能说明如下所示:
- VCC:与每个设备一样,HC05模块也依赖于电源来运行,VCC引脚有助于与外部电源连接。
- GND:每个设备都需要与微控制器公共地连接。模块的接地引脚就可以满足要求。
- TX:HC-05蓝牙模块通过UART通信与微控制器连接。TX将作为模块在UART中的数据传输引脚。
- RX:该引脚将是UART通信中数据接收引脚。
- State:状态将显示蓝牙的当前状态,状态引脚向控制器提供有关蓝牙与其它设备连接的反馈。
- Enable/Key:启用/密钥引脚是使HC-05与其它引脚相比独一无二的唯一引脚。它有助于使用外部信号在数据模式和命令模式之间切换设备。高逻辑状态将在命令模式下传输器件,低逻辑状态将在数据模式下传输。没有任何信号的默认设备状态将是数据模式。
- Button:命令和数据模式状态可通过模块上的按钮进行更改。
- LED:LED将有助于可视化HC-05模块的不同状态。
功能特点
- HC-05蓝牙模块提供两种通信方式,可实现短距离、高速度。
- 它有一个使能引脚,允许在命令和数据模式之间切换。
- 该器件使用UART(串行通信),可轻松与任何微控制器或系统连接。
- 它的射程可达8~10米,但如果有任何障碍物,它会向更低的位置发出信号。
- 该设备使用5V供电。
- 该模块可以充当主站或从站。
- 该模块可使用以下波特率:
- 9600
- 19200
- 38400
- 57600
- 115200
- 230400
- 460800
工作原理
HC-05蓝牙模块的使用对于每个微控制器来说都很简单,甚至对于每个具有串行通信接口的系统也是如此。该模块有两个串行输入引脚,两者都用于数据通信。TX将与控制器的RX接口,RX将与微控制器的TX接口。数据将以波特率传输。波特率将在微控制器内定义。数据将传输到9600,这是默认值,但也可以更改。
还有第三个引脚(Key)与外部GPIO引脚或按钮连接,但可以通过按钮进行控制。Key的基本用途是在模式之间切换。默认模式,当按键输入上没有任何输入时,设备将充当数据模式。在数据模式下,仅从设备传输数据。在Key引脚上施加高输入信号后,设备将进入命令模式。
命令模式
在命令模式下,有一些规则。命令模式只能以38400波特率进行通信。进入命令模式后,模块的默认设置是可以更改的。然后以下命令将有助于更改HC-05的设置。
- AT:检查通信。
- AT+NAME= ****** :设置/更改设备名称。
- AT+UART= *****, *, *:设置波特率、停止位和奇偶校验位。
- AT+版本?:它将显示Responder的蓝牙模块的版本。
- AT+ORGL:这会将保存命令设置到已完成设置的模块。
主/从模式
两种模式都有助于模块充当主站和从站。在默认模式下,HC-05 BT将充当从机。通过使用默认密码,设备将进行连接。
- 默认密码:1234或0000
要将模块用作主站,它应该处于命令模式。主模式并不是每个蓝牙模块都通用的,HC05就是其中之一。Key可以帮助切换可通过数字信号控制的模式,但模块本身提供一个可用于切换模式的按钮。
指示灯功能
HC-05 BT的状态在这里起着至关重要的作用。一个状态引脚和一个LED就可以做到这一点。LED用于用户,状态引脚用于微控制器。在连接的情况下,状态引脚将变高,以通知微控制器执行进一步的指令。LED具有不同的功能,它们分别是:
- 如果它持续闪烁,则表示正在等待连接。
- 闪烁1次持续2秒表示模块已进入命令模式。
- 一秒内闪烁两次表示模块已进入数据模式。
与Arduino连接
有多种类型的设备配备HC05模块,但目前最常见的是Arduino。在Arduino中,没有任何特殊的库来执行与Arduino的接口。要将其与Arduino连接,请遵循给定的电路图:
Arduino接口程序
然后将以下代码上传到Arduino板中。
void setup() { // put your setup code here, to run once: Serial.begin(9600); pinMode(2, INPUT); } void loop() { if (Serial.available() > 0 ) { int data = Serial.read(); Serial.println("INCOMING DATA:"); Serial.print(data); } // put your main code here, to run repeatedly: }
该代码将简单地检查来自串行打印的传入数据并将其打印到Arduino COM屏幕。
HC-05板连接后,模块需要通电,然后将其与手机或笔记本电脑上的另一个蓝牙模块连接。连接使用时,密码1234或0000。然后通过手机发送任何文本数据。有很多移动应用程序可以发送数据。在发送媒体文件的情况下,可能会出现错误,因为HC05不支持它。这样,模块将充当从站,但通过使用以下代码,可以将其转换为主站。我们唯一需要更改的是波特率,可以通过以下语句更改波特率。
void setup() { //将设置代码放在这里,运行一次: Serial.begin(38400); //这样就将波特率从9600更改为38400 pinMode(2, INPUT); }当设备作为主设备时,另一端应具有相同的波特率才能相互通信。HC-05在当今大多数设备中最为常见。它一次只能与一个设备连接,未经设备许可,它不会更改其主设备。新方法发明后,该装置在短距离通信中仍然非常有效。它非常安全和快速;它还允许其他设备隐形,这使得它更加安全。
封装设计参数
主要应用
- 大多数儿童遥控车都配有HC 06蓝牙。
- 在无线耳机和鼠标中,HC05因其速度快而可用于无线通信。
- 在物联网中,一些设备还使用蓝牙代替 WiFi 进行通信,以避免互联网上的洪水泛滥
总结
HC-05是一种常见的蓝牙串口传输模块,用于无线数据传输和通信。该模块基于蓝牙2.0标准,支持串口通信协议,因此可以很方便地与其他设备或系统进行通信。其主要优势特点包括:
-
蓝牙通信:可实现无线传输数据和指令。它可以与其他蓝牙设备(如智能手机、电脑、其他蓝牙模块等)进行通信,以实现数据交换和控制。
-
串口通信:这使得它可以直接与其他串口设备(如微控制器、Arduino、单片机等)连接,实现与这些设备的简单串行数据交换。
-
蓝牙配置:用户可以通过特定的AT命令设置其工作模式、蓝牙名称、波特率等参数。
-
适用范围:由于HC-05模块的低功耗特性和简单易用性,它广泛应用于各种嵌入式系统、物联网设备、机器人、无线传感器网络以及其他需要无线数据传输的项目中。
-
主从模式:HC-05模块可以配置为主从模式。作为主设备,它可以主动搜索并连接其他从设备;作为从设备,它可以被其他主设备发现和连接。
可以看出,HC-05模块是一种非常受欢迎的蓝牙串口传输模块,适用于许多嵌入式和物联网应用,它简化了无线数据传输和通信,为项目开发者提供了一种方便和灵活的通信解决方案。