单片机蓝牙模块

蓝牙模块

蓝牙转串口(TTL)模块,蓝牙转串口,不需要知道蓝牙协议,只需要知道串口协议就好。我所用的是BT06,只能做从机,蓝牙接收数据。

BT06蓝牙模块是专为智能无线数据传输而打造,遵循V3.0 蓝牙规范。
本模块支持UART接口,并支持SPP蓝牙串口协议,具有成本低、体积小、功耗低、收发灵敏性高等优点,只需配备少许的外围元件就能实现其强大功能。

接线图蓝牙正反面图片

可以USB-TTL模块直接与蓝牙模块相连,但要注意 5V-5V,GND-GND,RXD-TXD,TXD-RXD。
也可以直接用开发板进行蓝牙设置,但注意不要插单片机,否则数据会冲突,因为单片机进行烧录也是用的RX,TX。
开发板连接

状态指示LED:

LED显示模块状态
长亮建立连接
均匀慢速闪烁等待配对

AT指令集

在进行蓝牙与电脑连接上之后,打开串口助手(或者STC下载器自带的)打开串口可以进行AT指令设置,设置它的密码,名称以及波特率等
用户可以通过串口和 BT06蓝牙进行通信,串口使用 Tx, Rx 两根信号线,波特 率 支 持
1200,2400,4800,9600,14400,19200,38400,57600,115200,230400,460800 和921600bps。串口缺省波特率为
9600bps。
(注:发 AT 指令时必须回车换行, AT 指令只能在模块未连接状态下才能生效,一旦蓝牙模块与设备连接上,蓝牙模块即进入数据透传模式。\r\n为直接按电脑回车键,如不能按回车键则加\r\n。AT指令不分大小写)
AT指令集
指令
指令
在这里插入图片描述更改密码
波特率

应用链接

一般默认名称是BT-04,默认密码为1234,手机打开蓝牙,在手机app端控制蓝牙发送数据。

单片机程序

使用蓝牙时接受的数据由串口进行通讯传给MCU,所以使用串口中断。
参考程序:

#include <reg52.h> 
#define uchar unsigned char 

void UART_INIT()
{
 SM0 = 0;
 SM1 = 1;//串口工作方式1
 REN = 1;//允许串口接收
 EA = 1;//开总中断
 ES = 1;//开串口中断
 TMOD = 0x20;//8位自动重装模式
 TH1 = 0xfd;
 TL1 = 0xfd;//9600波特率
 TR1 = 1;//启动定时器1
}
//串口中断
void UART_SER() interrupt 4
{
 if(RI)
 {
  RI = 0;//清除接收标志
  switch(SBUF)
  {
   case 0x01:/*执行*/ ; break;//蓝牙接收1事进行的操作
  }
 }
}

void main()
{
 UART_INIT();//串口初始化
 
 while(1)
 {
 }
}
### 单片机蓝牙模块连接至电脑的方法 为了实现单片机(如51系列)与蓝牙模块(如HC-05)连接到电脑的操作,通常采用如下方法: #### 使用USB转TTL适配器 一种常见的方式是利用USB转TTL串口线来建立通信桥梁。具体来说,可以通过USB-TTL转换器将PC端的数据传输给蓝牙模块,进而间接地影响单片机的工作状态[^3]。 对于HC-05这类支持AT命令集的设备而言,在初次使用前需将其置于配置模式下以便调整参数设定。这一步骤可通过按下复位按钮并保持其闭合状态下供电完成;之后便能够向该装置发送诸如更改名称、波特率等必要的初始化指令[^2]。 当上述准备工作完成后,则可按照常规流程把已编程好的单片机蓝牙组件相联结——确保两者间信号引脚正确对接,并确认电源供应无误后启动整个系统。一旦建立起稳定可靠的链路关系,用户就可以借助计算机软件工具(例如PuTTY或者SecureCRT),经由虚拟COM端口对目标硬件实施远程操控了[^4]。 值得注意的是,在实际操作过程中还需留意一些细节之处:比如确保所选波特率一致以保障数据交换顺畅;另外也要关注指示灯的状态变化情况作为判断依据之一—正常情况下未配对时LED应快速闪动而成功握手后则会长亮不变[^5]。 ```python import serial ser = serial.Serial('COM3', baudrate=9600, timeout=1) def send_command(command): ser.write((command + '\r\n').encode()) send_command("AT") # 测试蓝牙模块是否响应 response = ser.readline().decode() print(response) ``` 此段Python代码展示了怎样通过PySerial库打开指定编号的串行接口并与之交互,这里假设使用的波特率为9600bps且对应的物理位置为COM3号端子。函数`send_command()`用于封装发送特定字符串形式的控制语句逻辑,最后读取返回的信息加以显示出来验证连通性状况。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值