欢迎光临
我们一直在努力

【蓝牙学习笔记】Arduino设置蓝牙模块HC-06 CC2540 CC2541自动初始化

—- 电路连接 —-
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+PIN678900 OKsetPIN 设置设备 PIN 678900
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

用串口监视器向蓝牙发送AT指令时,语句结尾用“NL和CR”如下图。
如果在代码中自动AT模式设置,需要在指令后加“\r\n”如以下示例代码。

#include <SoftwareSerial.h>SoftwareSerial BTserial(9, 10); // 建立SoftwareSerial对象,RX引脚2, TX引脚3 void setup() { Serial.begin(9600); BTserial.begin(9600); // HC-06 默认波特率 9600 Serial.println(“HC-06 DEMO/TEST “); BTserial.print(“AT\r\n”); //可在此处输入设置HC-06蓝牙模块的AT指令。 //此AT指令须在HC-06未连接蓝牙状态输入。 BTserial.print(“AT+BAUD\r\n4”);//设置蓝牙通信波特率 delay(100); BTserial.print(“AT+ROLE=M\r\n”);//设置蓝牙为主机 delay(100); BTserial.print(“AT+NAMEJZDmaster\r\n”); delay(100);//设置蓝牙名称JZDmaster BTserial.print(“AT+PIN123456\r\n”);//设置密码为123456 delay(100); }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 } }

注:部分内容整理自便宜美国vps网络,仅供学习使用,如有侵权请联系作者删除。

13015557

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。