[Arduino]HC-06蓝牙模块使用小结

作者: mtobeiyf | 来源:发表于2016-08-02 19:27 被阅读7423次

    简介

    蓝牙,顾名思义,蓝色的牙齿,并不能用来咬人,而是一种无线数据传输标准。
    HC-05HC-06是现在使用较多的两种蓝牙模块。两者之间的区别是HC-05主从一体机,既能向自己的'主子'打小报告,也可以接收下达的命令;而HC-06只能工作在从机模式下,那就只能乖乖接收上级的命令啦。
    在很多情况下,我们都想当“霸道总裁”,让下级乖乖听话就OK了,不需要他多废话。那就用HC-06就够了。
    下面是HC-06的模块示意图:

    示意图

    可以看到它有4个引脚,那么它接线如下:

    接线图

    在这里,我并没有使用Arduino的0,1号口,而是使用了两个数字口。这样就不会占用Arduino自身的串口。

    AT模式

    在按照上面的接线之后,HC-06会自动进入AT模式,在这个模式下,可以通过串口对蓝牙模块进行一些诸如修改名称、密码的操作。
    注意:AT命令一定要大写,中间的+不可省略

    指令 返回 功能
    AT OK 确认连接
    AT+VERSION OKlinvorV1.8 查看版本
    AT+NAMExxxx OKsetname 设置蓝牙名称
    AT+PINxxxx OKsetPIN 设定密码
    ---- ---- ----
    AT+BAUD1 OK1200 波特率设为1200
    AT+BAUD2 OK2400 波特率设为2400
    AT+BAUD3 OK4800 波特率设为4800
    AT+BAUD4 OK9600 波特率设为9600
    AT+BAUD5 OK19200 波特率设为19200
    AT+BAUD6 OK38400 波特率设为38400
    AT+BAUD7 OK57600 波特率设为57600
    AT+BAUD8 OK115200 波特率设为115200

    其中xxx替换成自己想要的。
    不建议设置更高的波特率,通信会不稳定

    /*
     Name:    Bluetooth.ino
     Created: 2016/7/30 13:26:47
     Author:  Fing
    */
    #include <SoftwareSerial.h>
    //使用软件串口,能讲数字口模拟成串口
    SoftwareSerial BT(8, 9);  //新建对象,接收脚为8,发送脚为9
    char val;  //存储接收的变量
    
    void setup() {
      Serial.begin(9600);   //与电脑的串口连接
      Serial.println("BT is ready!");
      BT.begin(9600);  //设置波特率
    }
    
    void loop() {
      //如果串口接收到数据,就输出到蓝牙串口
      if (Serial.available()) {
        val = Serial.read();
        BT.print(val);
      }
    
      //如果接收到蓝牙模块的数据,输出到屏幕
      if (BT.available()) {
        val = BT.read();
        Serial.print(val);
      }
    }
    

    连接Arduino,写入程序。进入串口,输入AT,看看是不是有OK返回。
    之后就可以愉快地使用HC-06模块了。

    手机连接调试蓝牙

    通过SPP蓝牙助手可以实现连接蓝牙和与蓝牙之间的通信。
    我用的是unWired Lite,可以在Play市场上下载到。
    有些国内开发者也有相关的作品,自行搜索便可。

    相关文章

      网友评论

      本文标题:[Arduino]HC-06蓝牙模块使用小结

      本文链接:https://www.haomeiwen.com/subject/dtxqsttx.html