该电子竞赛案例包含了hc05蓝牙主从模块的一些基础知识,应用方案、源代码与在实际操作过程中遇见的问题,还有一个风力摆控制系统以及它的源代码程序。
示例蓝牙:
蓝牙A地址:3014:10:271614
蓝牙B地址:2015:2:120758
//=============================================
步骤:
1、【AT模式】两个蓝牙模块的PIO11接VCC,上电后即进入AT指令模式,都用USB转TTL模块连接到电脑的USB接口。
2、【打开串口调试助手】开启2个串口调试窗口,一个打开蓝牙A的COM口,一个打开蓝牙B的COM口。【默认波特率一般为38400】
3、【恢复A默认设置】串口调试助手A,将蓝牙A恢复默认设置:AT+ORGL\r\n 【\r\n即回车、换行,在串口调试助手上输入一个回车即可】
4、【设置A配对码】串口调试助手A,配置蓝牙A的配对码:AT+PSWD=1212\r\n 【蓝牙A与蓝牙B的配对码相同,这样才能成功配对】
5、【设置A主模式】串口调试助手A,将蓝牙A配置为主机模式:AT+ROLE=1\r\n
6、【恢复B默认设置】串口调试助手B,将蓝牙B恢复默认设置:AT+ORGL\r\n
7、【设置B配对码】串口调试助手B,配置蓝牙B的配对码与蓝牙A一致:AT+PSWD=1212\r\n
8、【设置B从模式】串口调试助手B,将蓝牙B配置为从机模式:AT+ROLE=0\r\n
9、【 查询B地址 】串口调试助手B,查询蓝牙B的地址:AT+ADDR?\r\n 【如2015:2:120758】
10、【蓝牙A绑定蓝牙B】串口调试助手A,蓝牙A绑定蓝牙B地址:AT+BIND=2015,2,120758\r\n 【注意把地址的冒号换成逗号】
11、【常规工作模式】2个模块的PIO11引脚都接地,重新上电后进入常规工作模式,自动完成配对。之后,串口调试助手A和串口调试助手B就能互传数据了。
//=============================================
【注意事项】:确保2个蓝牙模块的配对码(PSWD)相同,都上电后两个模块会自动相连。
【蓝牙的连接模式默认是:0——指定蓝牙地址连接模式,这样蓝牙A才能自动连接绑定的地址,如果不是模式0,设置为模式0:AT+CMODE=0 [查询指令:AT+CMODE?]】
调模块总是让人很头疼,有时候遇到一些其实很简单的问题也找不到原因,着实难受。这里写一点我在配置HC05遇到的一些常见的问题和对一些问题的或对或错的理解(首次写东西,不会组织语言。。。。凑合吧)。
1. 新手的接口容易出错。
受网络端口同名端相连的固定思维影响,新手可能认为蓝牙的串口的接口RX对主机的RX,TX对主机的TX,其实这样完全错误,其实正好相反。道理很简单,举个例子,两个人要交流,他们的嘴巴互相与对方的耳朵“相连”才能交流。即应该一个的发送接(TX)连接另一个的接收(RX)。不只是蓝牙,串口都是这样接的。
2. AT指令码问题。
串口助手调试时发送指令码有十六进制和文本模式,一般使用文本模式【除非你闲的没事非用十六进制hex模式】。与HC06的发送直接AT指令不同,HC05文本模式下通信调试指令是发送AT+换行(输入AT敲一下回车便可)。其他的指令都要在最后加换行。
3. 蓝牙串口APP中搜索不到设备。
有的人在手机上下载了蓝牙串口APP但是打开连接搜索不到设备。原因可能是你的手机并没有与蓝牙配对。这里我们应该先通过手机蓝牙与搜索到蓝牙模块设备与蓝牙进行配对(下边左图),然后在串口APP搜索中就能找到蓝牙设备并进行连接。
4. 如何进入AT指令。
HC05进入AT指令有两种方式(手册上有,这里只是强调一些容易忽视或者手册说的不太明白的东西),一种是固定波特率38400进入AT指令(楼主认为是为了避免AT指令被修改后用户不知道通信波特率而造成不必要的麻烦)。设置方法为:先按住按键,然后蓝牙上电,略等一秒或者更长的时间,松开按键,此时可见看到2s闪烁间隔方式闪烁。说明已经进入AT指令设置。便可以在串口助手上设置波特率为38400后进行通过发送AT指令对蓝牙进行相关配置。另一种是上电后按一下按键,便进入AT指令设置(指示灯闪烁频率依旧没什么变化),该设置的波特率是可变的,所以要事先知道蓝牙已经设置的波特率才能操作(模块一般默认波特率为9600)。
5.HC05与主从一体模块与HC06从模块配对通信。首先要把HC05配置为主模块,配置好最好查询一下蓝牙当前状态,确定模块当前状态是主模块状态;然后配置两个模块的配对密码为相同的密码即可。上电后主模块会自动搜寻附近的蓝牙从机并配对连接,如果配对密码相同就可已完成配对。所以上电等待配对即可,配对完成后就可以理解为两个蓝牙相接的的串口连接在了一起。下图是通过两个串口调试的结果,可以看到这两个接了已经配对的蓝牙的串口可以进行串口通信了。这也就意味着,如果把上位机换成单片机,就可以实现两个单片机的短距离通信。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !