步骤1:识别模块
您需要做的第一件事就是识别模块。它可以是HC05或HC06。除引脚排列外,两个模块的功能相同。 HC05也可以同时充当主设备和从设备,而HC06只能充当从设备。仅通过观察就很难区分两者。一种可能的方法是检查突破板的背面。如果背面写有“ JY-MCU”,则可能是HC06。矿山上写有“ ZS-040”,它是HC05。我测试的HC06模块后面有一个带有三个PCB足迹的蓝牙标志(请参阅图2)。要确认设备身份,可以打开模块电源,在PC或移动设备上搜索新设备,然后在找到的设备列表中查找HC05或HC06。
步骤2:引脚排列和进入AT模式
PINS:突破板上找到的引脚是
KEY:必须将该引脚拉高才能进入AT模式.VCC:指示范围是3.6到6伏。为了安全起见,应将其连接到3.3伏。
GND:接地。
RXD:串行输入引脚。
TXD串行输出引脚。
STATE:可能连接或未连接到任何引脚。据说输出蓝牙连接状态。
某些分线板有EN引脚甚至WAKE UP引脚而不是KEY引脚。它们似乎都未连接到模块的任何引脚。但这没关系,因为我们还是不需要它们。
确定模块后,现在该进入AT模式了。
对于HC05:蓝牙模块的Rx引脚到USB到TTL转换器的Tx引脚,以及蓝牙的Tx引脚到转换器的Rx引脚。也连接他们的地面,但还不连接Vcc。首先,您必须将Vcc与钥匙引脚短路。通过面包板或其他任何方式将关键引脚和Vcc连接在一起。连接所有其他引脚后,将bt模块的Vcc连接到USB至TTL转换器的Vcc。现在,模块上的指示灯将以2秒的间隔闪烁。这意味着它已进入AT模式。如果指示灯闪烁更快,则说明未进入AT模式。断开Vcc,检查电路,然后重试。如果不起作用,则可能是模块的KEY引脚没有真正焊接到主芯片的KEY上,即第34引脚。您可以在万用表的帮助下进行检查。
如果使用arduino uno,则将Bluetooth模块的Rx引脚连接到Arduino Uno的引脚11(arduino mega上应该是相同的),以及Arduino的Tx引脚。蓝牙到Arduino的引脚10还要将模块的关键引脚连接到arduino的引脚9并接地,但还不连接Vcc。您必须先打开arduino的电源,然后像使用USB到TTL转换器一样连接Vcc。
对于HC06:只需将模块的Rx连接到Tx usb-ttl转换器和模块的Tx。连接地面和Vcc。模块处于AT模式。没看到那个来吗? :P原来HC06模块被永久配置为从设备,并且在未与任何其他设备配对时始终处于AT模式。因此,没有像HC05一样处于AT模式的确认指示灯闪烁。只需打开模块电源并传递AT命令即可修改默认设置。
连接概述:
HC05 USB至TTL Arduino
Vcc Vcc Vcc
Rx Tx引脚11
Tx Rx引脚10
Gnd Gnd Gnd 键Vcc引脚9
HC06 USB至TTL
Vcc Vcc
Rx Tx
Tx Rx
Gnd Gnd
第3步:如果不存在或未连接密钥
仅适用于HC05 :如前所述,某些型号的分线板没有按键引脚,而是有一个EN(启用)引脚或WAKE UP引脚,它们可能连接也可能不连接就像STATE引脚一样。在这种情况下,您必须将导线焊接到bt模块的第34引脚。我将一个公头焊接到了地上,但是如果您不能焊接或不想焊接,那么您可以在将Vcc连接到5V时握住一根电线(公对公跳线的尖端很方便)。 bt模块处于AT模式后,您可以松开电线。
HC06不需要钥匙钉。
步骤4:建立连接
》对于HC05:
一旦模块处于AT模式,请打开arduino。转到工具》串行端口》选择您的USB转TTL转换器连接到的COM端口(要查找,请转到您PC的设备管理器》端口(COM&LPT))。现在打开串行监视器。 bt模块现在正在以38400的波特率进行通信。因此,请将串行监视器右下角的波特率更改为38400。还要将波特率旁边的“ no line end”更改为“ NL&CR”。
如果您没有Arduino IDE,请下载Tera term(这是出色的终端信号处理器)。开放Tera条款。将打开一个弹出窗口,选择“串行”,然后选择USB至TTL转换器连接的COM端口。按确定,将建立连接。现在转到设置》串行端口》将波特率设置为38400。设置波特率后,转到设置》终端》从下拉菜单中将换行符更改为CR + LF。还要选中换行符下的本地回显框。现在设置完成。
如果使用arduino(UNO/MEGA)板,则复制粘贴以下代码,这只是arduino示例中包含的Software Serial示例的修改。
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include
SoftwareSerial mySerial(10,11) ;//RX,TX
void setup(){
Serial.begin(9600);
pinMode(9,OUTPUT); digitalWrite(9,HIGH);
Serial.println(“输入AT命令:”);
mySerial.begin(38400);
}
无效循环()
{
如果(mySerial.available())
序列.WRITE(mySerial.read());
if(Serial.available())
mySerial.write(Serial.read());
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
将代码上传到arduino板上,代码上传完成后,打开串行监视器,更改“无行结尾”底部的“ NL&CR”,将其关闭,然后从USB断开arduino板的连接。现在再次将arduino重新连接到USB,将蓝牙模块的vcc连接到arduino 5volt,然后打开串行监视器。模块上的指示灯应每隔2秒闪烁一次。这意味着它已进入AT模式。现在您可以输入AT命令了。
对于HC06:
现在HC06有一个小的缺点,它不等待任何终止符对于每个AT命令条目。而是对一秒钟后输入的任何字符起作用。因此,如果您不能在一秒钟内完成命令输入,它将被忽略。由于这种行为,使用Windows Hyper-terminal软件进行手动输入配置可能非常困难。必须使用允许批量发送多个字符的终端软件。我发现arduino可以正常工作。另一方面,如果使用Tera term,则必须在记事本中写下AT命令,然后将其复制粘贴到Tera term。右键单击Tera term控制台,将自动粘贴复制的行并立即执行。
因此,一旦模块连接到usb-ttl转换器并通电,打开arduino,选择usb-ttl com端口,设置波特率达到38400。与HC05不同,无需应用其他设置。对于Tera Therm,选择适当的com端口,转到设置》串行端口》将波特率设置为38400,转到设置》终端》选中本地回显框,所有设置均已设置。
步骤5:AT命令
对于HC05:键入“ AT”(不带引号) ),然后按Enter。如果出现“ OK”,则表示一切正常,模块已准备好接受命令。现在,您可以更改模块的名称,检索地址或版本,甚至重置为出厂设置。要查看默认名称,请键入AT + NAME。该名称将被提示,默认情况下为HC-05或JY_MCU或类似名称。要更改名称,只需键入AT + NAME =您所需的名称。
这里有个重要的注意事项,如果钥匙引脚不高,即在接收AT命令时未连接到Vcc(如果您未焊接导线并在模块进入AT模式后将其释放),即使给出正确的命令,也不会显示默认名称。但是您仍然可以通过上述命令更改名称。要验证名称是否确实更改过,请从您的PC/手机上搜索设备。更改后的名称将会出现。要更改波特率,请键入AT + UART =所需的波特率。通过发送AT + RESET命令退出。
最有用的AT命令是
AT:断开连接。
AT + NAME:请参阅默认名称
AT + ADDR:请参阅默认地址
AT + VERSION:请参阅版本
AT + UART:请参见波特率
AT + ROLE:请参阅bt模块的角色(1 =主控/0 =从属)
AT + RESET:重置并退出AT模式
AT + ORGL:恢复出厂设置
AT + PSWD:请参阅默认密码
更详细的AT命令在第一个pdf中给出。
对于HC06::在arduino串行监视器上,键入“ AT”(不带引号),然后按Enter,“ OK”将确认AT模式。与HC05不同,您看不到默认名称或波特率。您只能更改它们。要更改名称,请键入AT + NAMEDESIRED NAME,请注意命令和名称之间不应有空格。模块将回复您的设置名称。例如,AT + NAMEPROTOTYPE会将名称设置为PROTOTYPE。要更改波特率,请键入AT + BAUDX,其中X = 1到9。
1设置为1200bps
2设置为2400bps
3设置为4800bps
4设置为9600bps(默认值)
5设置为19200bps
6设置为38400bps
7设置为57600bps
8设置为115200bps
所以发送AT + BAUD4会将波特率设置为9600。
对于Tera Term,请在其他位置写下命令,然后通过右键单击将其粘贴到控制台上。无需按回车键。该命令将立即执行并确认。
HC 06 AT命令是受限制的,在此可以找到所有我能找到的内容。
AT:检查连接
AT + NAME:更改名称。名称与命令之间没有空格。
AT + BAUD:更改波特率,x是波特率代码,命令与代码之间没有空格。AT+ PIN:更改引脚,xxxx是引脚,再次,没有空格。
AT + VERSION
责任编辑:wv
-
usb
+关注
关注
60文章
7872浏览量
263662 -
TTL
+关注
关注
7文章
497浏览量
70048 -
蓝牙模块
+关注
关注
30文章
561浏览量
55651
发布评论请先 登录
相关推荐
评论