蓝牙模块的使用

蓝牙模块,是一种集成蓝牙功能的PCBA板,用于短距离无线通讯。

SPP-C 蓝牙转串口适配器 (替换HC-06从机,带底板 JDY-31)

主机:用于向从机下发指令,能够搜索从机并主动建立连接的一方。

从机:用于接收主机下发的命令,不能主动建立连接,只能等别人连接自己。
在这里插入图片描述
由于蓝牙模块的接收端的输入电压为3.3v,而arduino的引脚 输出为5.0v,所以需要分压电路。
在这里插入图片描述

代码:

char serialData;
 
void setup() {
  Serial.begin(9600);
  pinMode(11, OUTPUT); //11引脚连接演示用LED
 
}
 
void loop(){
  if( Serial.available()>0 ){ 
    
    serialData =  Serial.read();   
    
    if (serialData == '1' ) {  //接收到点亮LED指令
      Serial.print("Got command: ");  Serial.println(serialData); 
      Serial.println("LED-ON");
      
      digitalWrite(11, HIGH);  //点亮LED指令
    } else {    //接收到熄灭LED指令
      Serial.print("Got command: ");  
      Serial.println(serialData); 
      Serial.println("LED-OFF");
 
      digitalWrite(11, LOW);      //熄灭LED指令  
    }      
  }
}

点击Switch mode,设置选项,这里设置的是开对应1,关对应0。
在这里插入图片描述
设置完成后实际操作如下图所示:

点击打开:
在这里插入图片描述在这里插入图片描述
点击关闭:
在这里插入图片描述在这里插入图片描述

由于arduino只有一个RXD和TXD,正常情况下只能与一个设备通信。

可以通过模拟数据实现与多台设备通信:(代码如下)

/*---- 电路连接 ---- 
HC-06     Arduino Uno R3 引脚
TX                2  
RX                3
VCC              +5v
GND              GND
注意:须使用分压电路,确保HC-06 RX信号电压为3.3伏特。
 
//  
 
---- AT指令 ---- 
 
指令               答复                        说明
AT                 OK                          通讯测试
AT+VERSION         OKlinvorV1.8                固件版本
AT+NAMEmyBTmodule  OKsetname                   设置设备名 “myBTmodule”
AT+PIN6789         OKsetPIN                    设置设备 PIN 6789
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
AT+BAUD9           OK230400                    设置波特率 230400
AT+BAUDA           OK460800                    设置波特率 460800
AT+BAUDB           OK921600                    设置波特率 921600
AT+BAUDC           OK1382400                   设置波特率 1382400
*/
 
#include <SoftwareSerial.h>
SoftwareSerial BTserial(2, 3); // 建立SoftwareSerial对象,RX引脚2, TX引脚3
 
void setup() {
  Serial.begin(9600);
  BTserial.begin(9600); // HC-06 默认波特率 9600
 
  Serial.print("HC-06 DEMO/TEST  ");
  
  BTserial.print("AT");   //可在此处输入设置HC-06蓝牙模块的AT指令。
                          //此AT指令须在HC-06未连接蓝牙状态输入。
 
  pinMode(11, OUTPUT);                        
 
}
 
void loop(){
 
    // 通过串口监视器显示HC-06发送的数据
    if( BTserial.available()>0 ){            //如果软件串口有HC-06发来的数据
      char BTserialData =  BTserial.read();  //将软件串口中的数据赋值给变量BTserialData
      Serial.print( BTserialData );         //通过硬件串口监视器显示HC-06发来的数据
      if (BTserialData == '1') {             //判断HC-06发来的数据是否是字符1
        digitalWrite(11, HIGH);              //如果是字符1,则点亮LED
      } else if (BTserialData == '0') {      //如果不是字符0
        digitalWrite(11, LOW);               //则熄灭LED
      }
    }
 
    // 将用户通过串口监视器输入的数据发送给HC-06
    if (Serial.available()>0) {            //如果硬件串口缓存中有等待传输的数据
      char serialData =  Serial.read();    //将硬件串口中的数据赋值给变量serialData
      BTserial.print( serialData );         //将硬件串口中的数据发送给HC-06
    }
 
}
  • 3
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
步骤: 1. 两个蓝牙模块必须一个作为主机,另一个作为从机才能建立连接(上电后,从机一直处于接受状态,等待被连接。而主机则主动发出信号,寻找目标从机,前提是该目标从机的mac地址事先被写入到主机的flash芯片中储存) 2. 蓝牙模块上电前一直按住key按键不放,上电后松开,此时LED灯处于慢闪状态(每秒闪1次),提示已经进入AT指令响应状态,可以进行接收AT指令控制 3. PC端打开安可信串口助手(带AT指令),打开相应的串口,发送AT+ROLE?\n查询该模块的主从角色,如果为0,则为从机,如果为1则为主机。本例中,此模块(图中左边的HC-05模块)设为主机,则发送AT+ROLE=1\n,设为主机,成功返回OK 4. 发送AT+ADDR?\n查询此模块的mac地址,本例中为98d3:33:80ebdf,记下来稍后为从机的地址绑定用。同样的方法将另一个模块(图中右边的HC-05模块)设置为从机(AT+ROLE=0\n),并且查询到mac地址为98d3:36:aac2 5. 向主机串口中发送AT+BIND=98d3,36,aac2\n绑定从机的mac地址,成功则返回OK。发送AT+CMODE=0\n将主机设为指定蓝牙地址连接模式(即只允许主机向绑定好mac地址的蓝牙从机设备发起连接) 6. 同样地,向从机串口发送AT+BIND=983d,33,80ebdf\n绑定主机的mac地址,成功则返回OK。发送AT+CMODE=0\n将从机也设为指定蓝牙地址连接模式(即只允许从机接受绑定好mac地址的蓝牙主机设备发起的连接) 7. 至此,主从机均设置完毕。主从两模块松开key键重新上电,LED都快闪(每秒闪2次),表明均处于等待配对状态,随后大约几秒钟后,LED闪烁频率发生变化(不确定),表明已经侦测到目标设备,正在建立连接。随后大约一秒钟,很快 LED变成慢双闪状态(每2秒闪一次,每次连闪2下),提示已经配对成功,可以通过蓝牙协议传输数据了 8. 此时,在串口助手中发送一串字符,如果另一个蓝牙模块的串口助手里收到了同样的字符,且回送的字符,对方亦能收到,则通信成功。
你好!关于bt08b蓝牙模块使用,以下是一般步骤: 1. 连接电源:将蓝牙模块的VCC引脚连接到3.3V电源,GND引脚连接到地,确保正确供电。 2. 连接串口:将蓝牙模块的TX引脚连接到您的设备的RX引脚,将RX引脚连接到设备的TX引脚。(注意:这里的RX和TX是相对于您的设备而言) 3. 配置串口参数:使用您的设备上的串口通信库或命令行工具,设置串口参数,如波特率、数据位、停止位和校验位等。确保与bt08b蓝牙模块的默认参数匹配(通常为波特率9600、数据位8、停止位1、无校验)。 4. 打开串口:在您的设备上打开串口连接,开始与蓝牙模块进行通信。 5. AT命令控制:通过串口发送AT命令给蓝牙模块以控制其行为。例如,您可以使用AT+NAME命令设置蓝牙设备名称,AT+ROLE命令设置蓝牙设备角色等等。具体的AT命令集可以参考bt08b蓝牙模块的文档。 6. 数据交互:一旦蓝牙模块成功配置,您可以通过串口发送和接收数据,以实现与其他蓝牙设备的通信。例如,您可以发送数据给其他蓝牙设备或接收其他设备发送的数据。 请注意,以上步骤仅供参考,并且具体的操作可能因您所使用的平台、编程语言和库而有所不同。您可以参考bt08b蓝牙模块的文档以及相关资源,以获取更详细的使用说明和示例代码。希望对您有所帮助!如果还有其他问题,请随时提问。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

visual_eagle

欢迎交流学习

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值