SKU:RB-03T008A 蓝牙 4.0 模块

来自ALSROBOT WiKi
2016年12月8日 (四) 12:04Arduino77讨论 | 贡献的版本

跳转至: 导航搜索
03T008A01.png

目录

产品概述

蓝牙4.0模块专为智能无线数据传输而打造的,该模块遵循 BT2.1+EDR/3.0/4.0(BLE) 蓝牙规范,支持 SPP 蓝牙串口协议、HID、BLE 等。本模块集成了 MCU 和蓝牙芯片,支持 UART、SPI、I2C、I2S 等接口,包含4 个PWM 端口和 6 个12bit ADC 通道,具有集成度高、成本低、功耗低、蓝牙射频性能优越等特点。支持IOS 和Android4.0及以上系统。

产品参数

  1. 工作电压 :3.3V - 5V
  2. 工作电流:小于等于 100mA
  3. 休眠电流:50uA
  4. 接口类型:UART 串口
  5. 支持系统:Android4.0 以上系统、IOS 系统
  6. 指令集: AT 指令集
  7. 模块尺寸:50mm * 25mm
  8. 工作模式:支持 BT3.0+EDR 和BT4.0(BLE)Dual‐Mode,两种模式可同时工作
  9. 主从模式:支持主从一体
  10. 天线:内置2.4G PCB 射频天线,无需作天线调试
  11. 传输距离:空旷地可达到 50 - 100 米
  12. 重量大小:6g
  13. 产品接口:KF2510 - 4P
  14. 储存温度: -40℃ - +85℃
  15. 工作温度: -30℃ - +85℃

使用方法

模块配置

  • 使用软件:

串口调试助手下载:

  • 使用硬件:

(1)FT232 USB 转 TTL 模块 * 1个
(2)蓝牙 4.0 模块 * 1个
(3)杜邦线 * 若干

  • 软硬件配置:

(1)FT232 驱动下载(如果电脑已经安装过,或者使用的不是此 USB 转 TTL 模块,此步骤可略过)

FT232官网驱动下载地址

(2)串口调试助手配置连接

  • 如图所示连接蓝牙 4.0 模块和 FT232 USB 转 TTL 模块
蓝牙模块与 USB 转 TTL 模块接线说明
蓝牙 4.0 模块 USB 转 TTL 模块
TX RX
RX TX
+ 5V
- GND
03T008A02.png

(3)连接串口调试助手

  • 将 USB 转 TTL 模块连接 PC,连接后,蓝牙 4.0 模块的红色电源指示灯亮起,表示供电正常,如果驱动安装正确,在设备管理器中可看到模块的端口,如图所示:
03T008A03.png
  • 配置串口软件,连接到 USB 转换模块串口
如图所示进行操作:
03T008A04.png
1、点击 1 位置打开软件配置
2、修改 2 位置,将端口为设备管理器中 USB 转 TTL 模块的端口号,这里我的是 “com5”
3、修改 3 位置,将波特率设置为 115200
4、修改 4 位置,将数据发送和接收显示模式设置为如图所示
5、点击 5 位置,完成串口助手软件的设置,并保存退出设置

蓝牙 AT 指令说明

  • 命令格式

AT+指令采用基于ASCII
1、格式说明码的命令行,指令的格式如下:
(1)< >:表示必须包含的部分
(2)[ ]: 可选的部分

  • 命令消息

AT + <CMD>[op][para-1,para-2,para-3,para-4…]<CR> <LF>
(1)AT+:命令消息前缀
(2)CMD: 指令字符串
(3)[op]: 指令操作,指定是参数设置或查询

等于号 - "=" : 表示参数设置
问号 - "?": 表示查询

(4)[para-n]:参数设置时的输入,如查询则不需要
(5)<CR><LF>: 结束符,回车及换行,ASCII 码 0x0a 和 0x0d

  • 响应消息

+<RSP>: [para-1,para-2,para-3,para-4…]<CR><LF><CR><LF>
(1) +:响应消息前缀
(2) RSP:响应字符串,包括:

ok:表示成功
ERROR: 表示失败

(3)[para-n]:查询时返回参数或出错时错误码
(4)<CR><LF>: ASCII码0x0d及ASCII码0x0a

  • AT 错误命令集
AT 错误命令集及含义说明
错误码 含义
0 设备硬件出问题
1 没有连接
2 操作不允许
3 操作参数无效
4 超时
5 内存失败
6 协议错误
  • 蓝牙模块 AT 指令列表:
  • MAC:查询本地蓝牙MAC地址
  • Z:重启蓝牙
  • VER:查询蓝牙软件版本
  • HELP:帮助命令
  • READY:模块已准备号开始接收AT指令
  • DNAME:设置本地设备SPP名称
  • LENAME:设置本地设备LE名称
  • URATE:设置蓝牙波特率
  • BLE:设置BLE广播
  • SPP:设置SPP广播
  • STATE:查询蓝牙设备状态
  • DEBUG:设置调试模式

使用例程

配合 Arduino 控制器使用

  • 使用硬件

(1)Starduino UNO R3 控制器 * 1个 (2)传感器扩展扳 V5.0 * 1个 (3)蓝牙模块 4.0 * 1个 (4)USB 数据线 * 1条

  • 硬件连接
03T008A05.png
  • 例子程序
int led=13;  
//初始化函数
void setup(){         
  pinMode(led,OUTPUT);        
  digitalWrite(led,LOW);  
  Serial.begin(115200);    //设置串口波特率115200      
}
//主函数
void loop(){
	if(Serial.available()){           //检测串口是否接收到数据
        char data=Serial.read();          //读串口中数据
        switch (data){
  	    case 'W':  LED_flash(2);Serial.println("the light flash two times");break;    //闪烁2次
  	    case 'X':  LED_flash(3);Serial.println("the light flash three times");break;  //闪烁3次
  	    case 'A':  LED_flash(4);Serial.println("the light flash four times");break;   //闪烁4次
     	    case 'D':  LED_flash(5);Serial.println("the light flash five times");break;   //闪烁5次
            case 'S':  LED_flash(6);Serial.println("the light flash six times");break;   //闪烁6次  
            case 'C':  digitalWrite(led,LOW); Serial.println("the light be went out "); break;   //LED被熄灭  
            case 'Z':  digitalWrite(led,HIGH); Serial.println("the light be light up "); break;   //LED被点亮 
            default: break;
        }
    }
}
//LED闪烁函数
void LED_flash(int times){
    for(int i=0;i<times;i++ ){
        digitalWrite(led,LOW);
        delay(300);
        digitalWrite(led,HIGH);
        delay(300);   
    }       
}
  • 程序效果

通过手机(IOS或者安卓),蓝牙连接蓝牙模块,发送对应字符改变 LED 发光模块的闪烁次数和开启关闭,并通过 arduino IDE 串口监视器打印 LED 的闪烁次数。

03T008A06.png