当前位置: 首页 > 信息发展

蓝牙模块与单片机的连接与通信实例

时间:2023-06-28 04:53:14 信息发展

蓝牙模块与单片机的连接与通信实例

一、蓝牙模块简介

蓝牙是一种无线通信技术,可以实现短距离内不同设备之间的数据交换。蓝牙模块是一种集成了蓝牙功能的电子元件,可以通过串口与单片机等嵌入式设备连接,实现无线数据传输。

常见的蓝牙模块有HC-05、HC-06等,它们都是基于蓝牙2.0协议的主从一体模块,可以通过AT指令进行配置和控制。主从一体模块意味着它们既可以作为主设备,也可以作为从设备,根据不同的工作模式,可以实现不同的功能。

二、蓝牙模块与单片机的连接方式

要实现蓝牙模块与单片机的通信,首先要将它们正确地连接起来。一般来说,蓝牙模块有四个或六个引脚,分别是VCC、GND、TXD、RXD、EN、STATE。其中VCC和GND是供电引脚,TXD和RXD是串口引脚,EN是使能引脚,STATE是状态指示引脚。不同型号的蓝牙模块可能有不同的引脚排列和功能,具体可以参考其数据手册。

要将蓝牙模块与单片机连接起来,只需要将VCC接5V或3.3V电源,GND接地,TXD接单片机的RXD(串口接收端),RXD接单片机的TXD(串口发送端)。EN和STATE引脚可以根据需要接或不接。例如,如果要进入配置模式,可以按住EN引脚上的按键或将其接高电平;如果要查看蓝牙模块的工作状态,可以观察STATE引脚上的LED灯。

下图是一个典型的连接示意图:

三、蓝牙模块与单片机的通信实例

在连接好蓝牙模块和单片机后,就可以开始进行通信了。通信分为两个步骤:配置和使用。

配置是指通过AT指令设置蓝牙模块的参数,如名称、波特率、密码、工作模式等。AT指令是一种用于控制无线通信设备的命令语言,它由AT开头,后面跟上具体的参数和结束符。例如,AT+NAME=HC-05表示设置蓝牙模块的名称为HC-05。

要进入配置模式,需要将蓝牙模块的EN引脚接高电平或按住按键,然后上电。此时,蓝牙模块的LED灯会每隔2秒闪烁一次,表示进入了配置模式。然后,可以通过串口助手或手机APP等工具,向蓝牙模块发送AT指令,查看或修改其参数。注意,发送AT指令时,要保证波特率、校验位、停止位等参数与蓝牙模块一致,否则会出现乱码或无响应的情况。

下表是一些常用的AT指令:

| AT指令 | 功能 | 说明 |

| AT | 测试 | 返回OK |

| AT+NAME? | 查询名称 | 返回+NAME:xxxx |

| AT+NAME=xxxx | 设置名称 | xxxx为最多20个字符 |

| AT+PSWD? | 查询密码 | 返回+PSWD:xxxx |

| AT+PSWD=xxxx | 设置密码 | xxxx为4位数字 |

| AT+UART? | 查询波特率 | 返回+UART:xxxx,y,z |

| AT+UART=xxxx,y,z | 设置波特率 | xxxx为波特率,y为校验位,z为停止位 |

| AT+ROLE? | 查询工作模式 | 返回+ROLE:x,x为0表示从机,1表示主机,2表示回环 |

| AT+ROLE=x | 设置工作模式 | x为0表示从机,1表示主机,2表示回环 |

使用是指通过蓝牙模块实现单片机与其他设备的无线数据传输。这里以手机为例,介绍如何通过手机APP控制单片机上的LED灯。

要进入使用模式,需要将蓝牙模块的EN引脚接低电平或松开按键,然后上电。此时,蓝牙模块的LED灯会快速闪烁,表示进入了使用模式。然后,在手机上打开一个支持蓝牙通信的APP(如Bluetooth SPP、Serial Bluetooth Terminal等),搜索并连接蓝牙模块。连接成功后,LED灯会变成慢速闪烁,表示已经建立了通信通道。

在单片机端,需要编写相应的程序来接收和发送数据。一般来说,需要完成以下几个步骤:

1.配置单片机的串口参数,如波特率、校验位、停止位等,要与蓝牙模块一致;

2.开启串口中断,并设置中断优先级和中断服务函数;

3.在中断服务函数中,判断串口状态寄存器的标志位,如果是接收中断,则读取串口数据寄存器的内容,并根据内容执行相应的操作;如果是发送中断,则向串口数据寄存器写入要发送的内容;

4.在主函数中,初始化单片机的其他外设,如LED灯、按键等,并设置一个循环或定时器来检测外设状态,并根据状态发送相应的数据。

下面是一个简单的例子:使用51单片机和HC-05蓝牙模块实现手机控制LED灯。当手机发送'a'时,LED灯亮;当手机发送'b'时,LED灯灭;当手机发送'c'时,单片机返回'OK'。