如下是使用Arduino控制蓝牙模块HC-05

文章目录

  • 1 蓝牙模块HC-05
  • 1.1 简介
  • 1.2 管脚
  • 2 Arduino与HC-05连接
  • 3 蓝牙功能测试
  • 3.1 代码
  • 3.2 蓝牙配置
  • 3.3 蓝牙与手机连接
  • 4 两个蓝牙模块相互连接
  • 1 蓝牙模块HC-05

    1.1 简介

    HC-05蓝牙模块是一种基于蓝牙协议的简单无线通信设备。该模块基于BC417单芯片蓝牙IC,符合蓝牙v2.0标准,支持UART和USB接口。
    蓝牙模块实物图

    1.2 管脚

    HC-05蓝牙模块有六个管脚,分别为:STATE、RXD、TXD、GND、VCC、EN。

  • STATE:状态指示。未连接时输出低电平,连接时输出高电平。
  • RXD:UART接收引脚(和MCU的TXD相连)。电平是3.3V,接5V的TXD需电压转换
  • TXD:UART发射引脚(和MCU的RXD相连)。
  • GND:接地。
  • VCC:接电源,可以用+5V。
  • EN:使能。接地禁用模块,悬空或接3.3V使能。
  • 2 Arduino与HC-05连接

    LED非必要。
    RXD——D11,图中有电压转换。
    TXD——D10。
    Arduino与HC-05连接

    3 蓝牙功能测试

    3.1 代码

    蓝牙接收和发送功能测试。

    #include <SoftwareSerial.h>
    // 设置Arduino软件串口,10-RX,11-TX
    const int BT_RX = 10;
    const int BT_TX = 11;
    // Pin10为RX,接HC05的TXD
    // Pin11为TX,接HC05的RXD
    SoftwareSerial BT(BT_RX, BT_TX );
    char val;
    void setup() {
    	Serial.begin(38400); //初始化Arduino串口,波特率自定,这里选38400
    	Serial.println("BT is ready!"); //测试与PC之间串口是否正常,正常则显示上述文字,异常则显示乱码
    	BT.begin(38400); // HC-05的AT模式默认通信波特率为38400
    }
    void loop() {
    	if (Serial.available()) {
    		val = Serial.read();
    		BT.print(val); //将PC发来的数据存在val内,并发送给HC-05模块
    	}
    	if (BT.available()) {
    		val = BT.read();
    		Serial.print(val); //将HC-05模块发来的数据存在val内,并发送给PC
    	}
    }
    

    3.2 蓝牙配置

    1. 上传代码。
    2. Arduino断电,按住HC-05模块上的按钮,将Arduino与PC连接,发现HC-05模块指示灯2秒周期慢闪,即进入AT模式。
    3. 打开PC串口调试助手,显示“BT is ready!”。
    4. 发送AT指令配置蓝牙模块。修改蓝牙名称、配对密码,从模式,任意地址连接。

    常用AT指令有:

  • AT+NAME:查询修改蓝牙名称。
  • AT+NAME或AT+NAME?,返回蓝牙名称。
  • AT+NAME=XXX,修改蓝牙名称为XXX。
  • AT+ROLE:查询修改主从模式。
  • AT+ROLE或AT+ROLE?,返回当前主从模式,1表示主机,0表示从机。
  • AT+ROLE=X,修改主从模式,X为1或0,对应主机和从机。
  • AT+CMODE:查询修改连接模式。
  • AT+CMODE或AT+CMODE?,返回连接模式,1表示任意蓝牙地址连接模式,0表示指定蓝牙地址连接模式,需要地址绑定
  • AT+COMDE=X。
  • AT+PSWD:查询修改配对密码。
  • AT+PSWD或AT+PSWD?,返回密码,默认是1234。
  • AT+PSWD=XXXX,XXXX为新密码。
  • AT+ADDR:查询蓝牙模块地址。
  • 返回蓝牙模块地址,如98d3:91:fd3d35。
  • AT+BIND:查询修改绑定连接地址。
  • AT+BIND或AT+BIND?,返回绑定连接地址。
  • AT+BIND=XX,XX,XX,修改绑定地址,在CMODE=0时可用,注意冒号改为逗号。
  • AT+UART:查询修改串口波特率。
  • AT+ORGL:复位蓝牙模块。
  • AT+RMAAD:清空配对列表。
  • 3.3 蓝牙与手机连接

    1. 手机打开蓝牙调试助手。
    2. 设置好蓝牙模块后,断电重新上电,HC-05进入正常模式(指示灯快速连闪),打开PC上的串口助手。
    3. 手机找到蓝牙后进行连接,连接成功后HC-05上的指示灯将进入2s周期的快速双闪。
    4. 此时手机发送数据可在PC串口助手显示,PC串口发送数据可在手机显示。

    4 两个蓝牙模块相互连接

    配置蓝牙A为主机,指定地址连接;蓝牙B为从机。

    1. 蓝牙A、B进入AT模式。
    2. 设置B配对码,AT+PSWD=“0000”。
    3. 设置B从模式,AT+ROLE=0。
    4. 查询B地址,AT+ADDR,得到B地址XX:XX:XX。
    5. 设置A配对码,AT+PSWD=“0000”。(一定要一样)
    6. 设置A主模式,AT+ROLE=1。
    7. 设置A指定地址连接,AT+CMODE=0。
    8. A绑定B,AT+BIND=XX,XX,XX。
    9. 重新上电,连接成功后HC-05上的指示灯将进入2s周期的快速双闪。
    物联沃分享整理
    物联沃-IOTWORD物联网 » 如下是使用Arduino控制蓝牙模块HC-05

    发表评论