关于hc

您所在的位置:网站首页 arduino蓝牙手机软件 关于hc

关于hc

2024-01-18 22:20| 来源: 网络整理| 查看: 265

注意:如果不出现这样的情况的话,可以跳过啦😝

问题1、我们拿到hc-05蓝牙的时候可能会遇到手机蓝牙搜索不出来的情况(可能是已经和其他蓝牙配对了),

那么解决方法是要把蓝牙恢复出厂设置如下:

步骤一:先连接arduino uno和hc-05蓝牙

步骤二:烧录知识点二的代码进入AT模式(请具体看知识点二)

步骤三:使用AT指令,恢复出厂设置。具体看知识点二。

恢复出厂设置之后(再次进入AT模式进行修改),一定要改掉之前的蓝牙名字和密码,不然会连接错别人的蓝牙,或者自己的蓝牙被别人连接(深刻的教训)

主要讲的是hc-05蓝牙和arduino uno和arduino mega 2560通信的问题。

主要原因是arduino uno只有一个硬串口,如果arduino的硬串口接了蓝牙的话,那么arduino uno的程序烧录就会有问题,根本烧录不了。

而arduino mega2560的话就不止一个硬串口,它有4组硬串口,那么我们接蓝牙的时候和烧录程序的时候就不会冲突。不过要注意的是蓝牙不要结tx0和rx0的那组串口,不然烧录的时候会出现烧录不成功。

知识点1:arduino uno和电脑串口进行通信控制板子LED灯的亮灭

代码如下:

//这是一个通过串口发送指令控制arduino uno开发板上led灯的亮灭实验 void setup() { pinMode(LED_BUILTIN, OUTPUT); Serial.begin(9600); //设置串口波特率9600 } int val=0; void loop() { val = Serial.read(); //读取计算机发送给控制板的指令复制给val if(val=='1'){                //如果计算机通过串口发送数字1,灯就点亮 digitalWrite(LED_BUILTIN,HIGH); //点亮LED Serial.println("LED ON"); //并输出 } if(val=='2'){                //如果发送数字2,灯就熄灭。 digitalWrite(LED_BUILTIN,LOW); //熄灭LED Serial.println("LED OFF"); //并输出 } } 知识点2:手机蓝牙连接hc-05蓝牙进行与电脑互发信息

此知识点是通过电脑连接arduino uno,arduino uno连接蓝牙,蓝牙无线连接手机。进行相互发信息。

#include // 设置Arduino软件串口,10连接RX,11连接TX。这个实验是手机和电脑自己的互发信息 const int BT_RX = 10;// Pin10为RX,接HC05的TXD,软串口不一定非是这两个数字脚都可以 const int BT_TX = 11;// Pin11为TX,接HC05的RXD SoftwareSerial BT(BT_RX, BT_TX ); char val; //定义val类型 void setup() { Serial.begin(9600); //初始化Arduino串口,波特率自定,这里选9600,如果想进入AT模式,改成38400 Serial.println("BT is ready!"); //测试与PC之间串口是否正常,正常则显示上述文字,异常则显示乱码 BT.begin(9600); // HC-05的AT模式默认通信波特率为9600,如果想进入AT模式,改成38400 } void loop() { if (Serial.available()) { val= Serial.read(); BT.print(val); //将PC发来的数据存在val内,并发送给HC-05模块然后传给手机 } if (BT.available()) { val= BT.read(); Serial.print(val); //将手机的信息发给HC-05模块发来的数据存在val内,并发送给PC } }

如果你想用蓝牙来控制小车的话,你就接上arduino的单片机,然后通过手机上的蓝牙串口软件,给小车发送一个指令就可以控制小车执行任务啦——》软件在这里

链接:https://pan.baidu.com/s/1hcQcGZMlKnQyzeLZxWDAWA?pwd=ents

提取码:ents

知识点三:hc-05蓝牙互连,进行互发信息 基础知识 蓝牙一般指令

功能

指令

说明

恢复出厂设置

AT+ORGL

查询蓝牙名字

AT+NAME?

可以查询当前蓝牙的名称

地址查询

AT+ADDR?

查询主从模式

AT+ROLE?

返回当前主从模式,1表示主机,0表示从机。

AT+ROLE=X,修改主从模式,X为1或0,对应主机和从机。

查询蓝牙密码

AT+PSWD?

AT+PSWD=XXXX,XXXX为新密码

查询修改绑定连接地址

AT+BIND?

AT+BIND=XX,XX,XX,修改绑定地址,在CMODE=0时可用,注意冒号改为逗号

查询修改连接模式

AT+CMODE?

返回连接模式,1表示任意蓝牙地址连接模式,0表示指定蓝牙地址连接模式,需要地址绑定

AT+COMDE=X。

如何进入AT模式

烧录代码

蓝牙断电,长按hc-05按钮,然后上电,如果hc-05的led灯出现2秒慢闪的情况,说明进入了AT模式

在串口监视器中,切换成如下图模式,随后可以在串口监视器中输入指令(特别要注意的是图中圈出来的地方,我们要切换成那个样子。(波特率要改成38400)

两个蓝牙互连具体步骤:

两个蓝牙分别长按按钮进入AT模式。

蓝牙A作为主蓝牙,蓝牙B作为从蓝牙。

蓝牙B所需要执行的操作为先设置B的角色为从机角色,代码为AT+ROLE=0。

然后设置B的配对密码,代码为:AT+PWSD="1111"(具体密码是根据你的实际情况,想改什么就改什么)。

最后查询蓝牙B代码的地址,代码为:AT+ADDR?,得到B的地址:XX:XX:XX(到这里B的操作就完成了)。

设置A的配对码,代码为AT+PWSD="1111"(两个蓝牙的配对码一定要一样)。

然后到蓝牙A的操作:先设置蓝牙A为主模式,代码为:AT+ROLE=1。

设置A指定地址连接,AT+CMODE=0。

A绑定B,AT+BIND=XX,XX,XX(这里需要注意的是数字之间的分隔是逗号)。

两个蓝牙重新接上电后,如果两个蓝牙是每 隔6到7秒快闪一次,说明配对成功。

最后的最后提多几句,双车协同,能不用蓝牙就不用蓝牙,这个hc05的蓝牙,血的教训,还有就是就算是用这个蓝牙的话,arduino就不要用硬串口进行通信,因为arduino的硬串口会乱发一些奇奇怪怪的数据出来。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3