蓝牙基础知识回顾:
(一)Arduino和HC-05连接
注意:Arduino通过TX与HC-05进行通信,而Arduino的电压为5V,HC-05的允许电压为3.3V。短时间通信无妨(长时间可能烧毁HC-05)<接分压电路>
U = 5*20/30 = 3.3V I = 5V/(10K+20K) = 0.16mA
(二)Arduino和HC-05和手机通信
1.手机发送信息给蓝牙
2.蓝牙将信息通过TX口发送给Arduino的串口缓冲区(Arduino可以接收)
3.Arduino只需要Serial.read()操作就可以取出蓝牙传过来的数据
缺点:使用Serial.read()读取数据,可能也会读取到电脑串口发送的数据(导致数据混乱)
所以推荐使用SoftwareSerial.h头文件进行蓝牙操作(操作方法下面有使用)--------软件串行接口
补充:串口透传---透明传输
蓝牙传输数据使用透明传输:在传输过程中数据不发生任何形式的变化,仿佛传输过程是透明的,数据原封不动的从发送方传输到接收端
补充:硬件串行接口和软件串行接口
Serial---硬件串行接口
SoftwareSerial---软件串行接口
一:问题
(一)出现在AT模式下只有第一个命令可以正确返回OK,其他返回ERROR(0)
(二)出现手机和蓝牙相连发送数据始终乱码,不正确问题
二:解决问题1:进入AT模式
(一)HC-05在AT模式下的频率必须是38400
(二)注意在命令结束后面都需要我们加上回车符
(三)arduino下设置代码,进入AT模式
//HC-05进入设置AT模式 #include <SoftwareSerial.h> SoftwareSerial BT(8,9