(SKU:RB-03T008)RB无线蓝牙模块

来自ALSROBOT WiKi
2014年10月13日 (一) 09:47112.102.230.1讨论的版本

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索


Wtgd1.jpg

目录

产品介绍

RB Bluetooth Transceiver 是一款简单易用、小巧轻便、性价比较高的蓝牙无线通

信 模块,与国外 同类产品相比, 不但体积小,功 能强,而且设计 巧妙具有以下特 点: 一 、夹层板独创 设计,可避免蓝 牙芯片因使用者 身上产生的静电 而损坏;二、供 电范 围宽 DC+3.3V/+5V~+12V,适用于各种单片机、Arduino、BS2 等微控制器;三、LED 指示灯通过微型拨码开关选通(ON 开/OFF 关为省电模式),节约电能,Search(Power) /Connect 指示灯清晰简明,工作状态易于判断;四、双列插针接口,人性化设计,为二 次 开发提供便利 ,可选择安装直 排针、弯排针、 直排座、排线, 适合各种开发板 、控 制器等产品。


规格参数

  1. 蓝牙芯片: CSR BC417143
  2. 蓝牙协议规格:Bluetooth Specification v2.0+EDR
  3. 传输频率:2.4~2.48GHz unlicensed ISM band
  4. USB 协议:USB v1.1/2.0
  5. 调制方式:GFSK(Gaussian Frequency Shift Keying)
  6. 发射功率:≤4dBm, Class 2
  7. 传输距离:20~30m in free space
  8. 收讯灵敏度:≤-84dBm at 0.1% BER
  9. 传输速率:Asynchronous: 2.1Mbps(Max) / 160 kbps;Synchronous: 1Mbps/1Mbps
  10. 安全特性:Authentication and encryption
  11. 支持 profiles:Bluetooth serial port
  12. 串口默认设置:115200/N/ 8/1(可调)
  13. LED 指示灯:Search(Power)/Connect
  14. 输入电源:+5V~+12VDC/+3.3VDC 50mA
  15. 工作温度:–20°C~+55°C
  16. 尺寸大小:30mm x 30mm
  17. 重量大小:7g

模块设置

RB—Bluetooth 蓝牙模块支持 AT 指令设置波特率和主从机模式。模块有一个 2 位

拨码开关,1 号开关是 Connect 灯的开关,可以关闭 Connect 省电,拨到 ON 为开,拨 到 1 端为关;2 号开关是 AT 命令模式开关,拨到 ON 进入 AT 命令模式,拨到 2 端退 出 AT 命令模式,重新上电后设置才生效。

设置 RB—Bluetooth 蓝牙模块需要借助 USB 转 TTL 模块或 Mini USB 下载器模块,

将蓝牙模块连接到 Mini USB 下载器模块上,然后将 2 号开关拨到 ON 端,使用 38400 波特率进入 AT 状态,和通讯时设置的波特率无关。

打开串口调试助手,选择 USB to Serial 对应的 COM 口,设置波特率为 38400,其

它默认。

注意: 在 AT 模式中波特率默认为 38400,和通讯时设置的波特率无关。
Wtgd2.jpg
指令结构:指 令后面需要 有回车换行 符作为结束符 ,也就是十 六进制的

0X0 D,


0X0A,如果使用串口助手,就是 AT 后面敲一下 ENTER 键,然后发送指令。

AT 指令集如下:
(AT 指令不区分大小写,均以回车、换行字符结尾:\r\n)
  1. 测试指令:
Wtgd3.jpg
  1. 模块复位:
Wtgd4.jpg
  1. 设置和查询模块角色:
Wtgd5.jpg
模块角色说明:
Slave(从角色)——被动连接,可以和任意蓝牙适配器配对使用;
Master(主角色)——查询周围从设备,并主动发起连接,从而建立主、从蓝牙设备

间的透明数据传输通道。

Slave——Loop(回环角色)——被动 连接,接收远 程蓝牙主设备 数据并将数据 原样

返回给远程蓝牙主设备。

  1. 设置和查询配对码:
Wtgd6.jpg

设置和查询串口参数

Wtgd7.jpg
举例:设置串口波特率:11520 0,2 位停止为,Even 校验
AT+UART=115200,1,2\r\n
OK
AT+UART?
+UART: 115200,1,2
OK

蓝牙模块的测试

我们使用 Arduino 控制器来做个测试,要用到硬件设备如下:
  1. Arduino 控制器×1
  2. Arduino 传感器扩展板×1
  3. 蓝牙模块 ×1
  4. 蓝牙适配器×1
  5. USB 数据通信线×2
Wtgd8.jpg
将程序下载到 Arduino 控制器中。下载完程序之后在将蓝牙模块插接到 Arduino 传

感器扩展板的蓝牙接口上。如果先将蓝牙插接到 Arduino 传感器扩展板的蓝牙接口上,在下载程序时会出错。

程序代码如下:
char val;            //定义字符变量 val 
int ledpin=13;      //定义 ledpin 引脚为 13 
void setup() 
{ 
Serial.begin(11520 0);          //设定波特率为 115200 
pinMode(ledpin,OUTPUT);   //设定 ledpin 引脚为输出状态 
} 
void loop() 
{ 
v al=Serial.read();            //读串口接收到的数据 
if(val=='r') 
{ 
digitalWrite(ledpin,HIGH);   //ledpin 引脚写入高电平 
d elay(500);                      //延时 0.5 秒 
digitalWrite(ledpin,LOW);   //ledpin 引脚写入低电平 
d elay(500);                      //延时 0.5 秒 
Serial.println("www.robotbase.cn");     //串口打印 www.robotbase.cn 
} 
} 
使用蓝牙适配器和 RB—Bluetooth 配对时,RB—Bluetooth 必须设置为从模块,蓝

牙适配器不需要 驱动程序可配合 笔记本电脑、PDA、蓝牙手机等 设备直接使用, 配对密码“1234 ”。

RB—Bluetooth 蓝牙模块基于蓝牙 2.0 规范,兼容蓝牙 1.1、蓝牙 1.2。使用蓝牙适配器建议安装一个管理软件 IVT BlueSoleil,安装后,插上蓝牙适配器便会映射 2 个COM 口出来,但不是我们需要的端口。


Wtgd9.jpg
RB—Bluetooth 蓝牙模块插到舵机控制器或 Arduino 上,蓝牙适配器插到电脑上,

打开 IVT BlueSoleil 软件,黄色的球体就是蓝牙适配器,在黄色的球体上双击会自动搜 索设备,这时就会出现一个带问号的蓝色球体,这个就是我们的 RB—Bluetooth 蓝牙模 块了,双击串口图标会出现下面的界面,正与 COM8 连接,COM8 就是我们所需要的 串口,很快会弹出配对的窗口,在蓝牙口令处输入“1234”,点击确定,配对后 POWER 指示灯会一闪一闪的。

Wtgd10.jpg
Wtgd11.jpg
Wtgd12.jpg
在串口调试助手的发送区域输入“r”,arduino 的数字口 13 的 LED 灯会闪烁一下,

让后在串口调试助手的接收区域会显示出“www.robotbase.cn”。

Wtgd13.jpg

主从 机模块的使用:

2 个模块成对使用时必须是一主一从,可使用 AT 指令将 2 个模块分别设置为主机

和从机。主从成对使用不需要驱动程序,两个模块上电就能传输。

模块上的 Power 灯频闪状态时表示正在配对,Connect 灯常亮表示配对完毕,此时

串口功能已经启动。

一主一从成对正 常使用时灯不 会熄灭。如主 机和从机距离太 远而断线,则 主机和

从机的灯一直闪 ,如果它们距离 在靠近,则又会 找在一起而自动 连上。主机会记 忆它 配好的从机,一上电给主机就会找它记忆的从机地址。

使用 Arduino 测试主从机通讯,将蓝牙模块插接到 Arduino 的传感器的扩展板上,

如下图所示:

Wtgd14.jpg
主机程序代码如下:
void setup() 
{ 
Serial.begin(115200); //设定波特率为 115200 
} 
void loop() 
{ 
Serial.println("www.robotbase.cn"); //串口输出 www.robotbase.cn 
delay(1000);                                    //延时 1 秒 
}
从机程序代码如下:


char val;          //定义字符变量 val 
int ledpin=13;   //定义 ledpin 引脚为 13 
void setup() 
{ 
Serial.begin(115200);   //设定波特率为 115200 
pinMode(ledpin,OUTPUT); //设定 ledpin 引脚为输出状态 
} 
void loop() 
{ 
v al=Serial.read();      //读串口接收到的数据 
if(val!=-1) 
{ 
digitalWrite(ledpin,HIGH);   //ledpin 引脚写入高电平 
delay(500);                          //延时 0.5 秒 
digitalWrite(ledpin,LOW);        //ledpin 引脚写入低电平 
delay(500);                        //延时 0.5 秒 
Serial.print(val);                   //串口打印 val 的值 
} 
} 
Wtgd15.jpg
使用串口助手观 察结果,串口 助手设置串口 号为从机的串口 号,波特率和 程序设

置的一致为 115200,其它默认即可,打开串口就可以看见结果。同时从机的数字口 13 的 LED 灯会闪烁。