小编刚开始接触HC-05蓝牙透传模块,只是感到很神奇。但对它的原理和使用方法一无所知。做项目要用到它的时候,无非就是代码复制粘贴,有种照搬照抄的意思。
但是今天小编要谈谈一段时间内对HC-05学习的心得。如果你有这方面(做项目用到过HC-05)实操的话,就不用看小编的这篇文章了,建议直接学习野火的YH-HC05蓝牙透传模块 用户手册 即可。对HC-05一点认知还没有的建议看看我的文章。直接上正题。
一、从实物方面和应用方面来认识HC-05蓝牙透传模块。
(1)实物方面:
它有六个引脚,引脚的作用如下(看引脚名称和说明即可,其他的是野火stm32具体应用说明):
那么这样我们就从实物方面了解了他长什么样,引脚都是干嘛的。
(2)应用方面:
我们以单片机为例,通过上表我们知道,如果单片机的项目里要用到HC-05蓝牙透传模块的话,至少要连4根线:
单片机TX——蓝牙模块RX
单片机RX——蓝牙模块TX
电路里的VCC——蓝牙VCC
电路里的GND——蓝牙GND
这是实现通信的必连4条线。
接下来呢,我们讲一下另外两个引脚KEY和INT。在此之前你必须要把一句话铭记于心:单片机与蓝牙之间的通信实质上就是普通的串口通信
二、KEY引脚的讲解
通过表格我们知道,KEY引脚的高低决定了HC-05蓝牙模块处于什么模式,AT命令模式or透传模式。
那这两个模式有什么区别呢?
1、在AT模式下:我们能完成对HC-05蓝牙透传模块的一系列功能设置。例如设置蓝牙串口波特率、修改蓝牙名称及密码等操作。
2、在透传模式下:蓝牙模块就可以充当单片机与手机蓝牙/其他有蓝牙的单片机之间的媒介来完成互相通信。至于透传是什么意思,百度百科一下,可以把HC-05蓝牙模块当做信使来看待。
三、INT引脚的讲解
这个引脚的作用我的理解就是:
配对状态:一个蓝牙寻找另外一个或多个蓝牙设备与之连接的整个过程,在这个过程中蓝牙处于配对状态。如果这个过程结束了,蓝牙就不在配对状态。这个引脚相当于是一个状态位,个人认为这个引脚实际用处不大。
四、结合实例——自制手机app实现蓝牙控制51单片机加热系统
思路:单片机电路<——>蓝牙<——>APP
1、先看一下硬件部分的电路图:
图中U17就是HC-05蓝牙模块,注意观察它与单片机的连线。只用了最基本的4条线哦!!!。咱们一些同学可能疑惑野火的STM32F103霸道板上可是六根线都用上啦!!!这个问题咱们之后再说。
2、利用串口调试助手软件在AT指令模式下实现对HC-05的设置。
(1)下面就是我们搞蓝牙常用的串口调试助手。
(2)购买和使用能够手动进入AT模式的HC-05模块,类似下图带有按键(复位键)的。
(3)下面这些是设置蓝牙模块的具体操作的过程
注:另一个有蓝牙功能的设备是APP时,单片机端的蓝牙模块可以看做从机,因此这个项目中设置硬件电路中的蓝牙模块为成从机是没问题的。
这些AT模式下的AT指令其实对照HC-05的官方手册操作就行,还有些其他的指令就不多提了。
那么这样我们就利用软件完成了对蓝牙模块的设置。就不需要在单片机硬件电路的时候设计连接KEY引脚,还要专门编程来通过单片机使蓝牙进入AT模式,再完成相关设置,节省了我们很多资源
3、理解蓝牙是怎么充当51单片机的无线串口(信使)的作用的。
看电路图我们知道只有4根线连接VCC,GND,TX,RX。KEY(模式引脚)和INT(配对状态输出)都是悬空的。那么说明在整个电路运行时HC-05都是在透传模式。我的理解就是,让HC-05处于这种透传模式下,那么不管它是接收数据/发送数据,他只是一个中转站,对数据没有任何影响,也不做任何判断或处理。只负责接收来自单片机的数据然后发送出去,或者接收来自别的蓝牙设备数据给单片机。
至于单片机接收到数据怎么判断、处理以及怎么发送数据等就是单片机自己的事了(通过单片机编写的程序完成)。而另一端(APP来说),它怎么接收、判断、处理数据和发送数据也是APP自己是事情(通过APP自己编写的程序完成这些工作)。
4、单片机串口如何通过蓝牙将数据发给app呢?
看mian.c中的程序注释:
研究这个硬件程序的时候,自己添加注释的太多,别太介意。
链接:https://pan.baidu.com/s/1smT0OmQASs_bY7pNaKlDiQ
提取码:zqli
5、怎么自己制作APP,并实现接收来自单片机端蓝牙来的信息/发送信息给单片机实现功能呢?
这里不多说,建议大家学习一下appinventor在线app开发平台,里面提供了blue开发的组件,可以实现上述的功能。具体怎么操作,建议买本书,也可以看看网易云课堂的“老巫婆”教学视频先了解一下。
下面是我做的个app图形界面:
最后总结一下,写这篇文章时为了分享自己在学习app通过蓝牙控制单片机的心得。看到网上很多资料讲的很笼统,一会儿什么AT模式,一会儿什么透传模式,还有什么多机主从透传蓝牙通信等放一块了。对于身为学渣的我感到太难了,今天就特意吧pp通过蓝牙控制单片机的部分讲了讲。
上一篇:串口收发实验——键盘键入数字**.*,PC端循环接收显示**.*
下一篇:51单片机系列学习——逐行扫描的方式实现矩阵按键的仿真
推荐帖子
- 全志R128硬件设计指南①
- 硬件系统框图R128是一颗专为音视频解码而打造的全新高集成度SoC,主要应用于智能物联和专用语音交互处理解决方案。 单片集成MCU+RISCV+DSP+CODEC+WIFI/BT+PMU,提供生态配套成熟、完善的用于系统、应用和网络连接开发的高效算力; 集成8MB/16MB/32MBPSRAM,为音视频解码、大容量存储、扫码以及网络连接提供充裕的高容量、高带宽的内存支持; 拥有丰富的音频接口IIS/PCM、OWA、DMIC、LINEOUT、MICIN以及通用通
- aleksib 国产芯片交流
- ucos-ii任务划分设计
- 比较详尽的介绍如何对基于ucos-ii的系统中进行任务的划分ucos-ii任务划分设计好东东,看看kkk为什么要B呀谢谢楼主分享!!!!不错,感谢楼主的不辞辛苦回复楼主huangxing198673的帖子我想下载没钱了哈哈,你给我邮箱,我发到你邮箱里面回复6楼shotstar的帖子下来看看,谢谢楼主分享!!回复楼主huangxing198673的帖子楼主俺是新人没钱,能给不?wxdxhwangwei@163.com还好攒了点钱楼主俺是新
- huangxing198673 实时操作系统RTOS
- MATLAB模拟网络调试助手进行UDP通信
- #MATLAB模拟网络调试助手进行UDP通信**目录(TableofContents)**#一、网络调试助手UDP通信演示打开两个网络调试助手界面,设置参数如下,本地主机和远程主机IP地址相同,设置不同的端口号,实现数据传输,UDP通信可靠性不高,但是传输速度快。可以看到,两个不同的端口之间开始了数据通信。#二、MATLAB模拟网络助手UDP通信MATLAB编写好程序之后,运行之前要先关闭网络调试助手,因为MATLAB里面设置了和网络调试助手里面一样的参数。```c
- bqgup 创新实验室
- 请推荐一个讲AVR单片机比较好的网站
- 最近要用AVR单片机,苦于是个初学者,很多东西弄不懂,请各位推荐一个好一点的网站,谢谢!请推荐一个讲AVR单片机比较好的网站http://www.ouravr.com/http://www.iccavr.com/让你一学就会的网站看看吧http://www.qlmcu.com/
- jackychen 嵌入式系统
- 转——大功率微波芯片共晶焊接工艺技术
- 文中采用自动化手段研究了大功率微波芯片共晶焊接技术,分别对影响微波芯片焊接焊透率的预置焊料、温度曲线、氮气保护气氛、摩擦次数等影响因素开展了研究。通过在MoCu热沉上预置焊料,采用优化的共晶焊接温度曲线,施加一定流量的氮气保护,采用合适的共晶焊接摩擦次数,最终获得了具有良好焊透率的大功率微波芯片共晶焊接模块。焊接位置精度能够控制在(255)m范围内。文中还完成了焊后大功率微波芯片模块的热循环试验,进行了微波芯片的剪切力测试。试验结果显示共晶焊接焊点剪切力满足GJB5
- btty038 RF/无线
- 新手用allegro画了一块板子,请求大家的意见
- 用allegro画了一块C8051F432的最小系统板,这个单片机是带USB的,对于PCB有很多细节部分不懂,希望大家提出建议新手用allegro画了一块板子,请求大家的意见画的挺好的,整体看起来不错usb部分差分等长处理不太明显新手能画成这样很不错了,赞一个。贴片的阻容元件要是能排整齐一点,再把里面的一些直角去掉就更完美了。很不错对于非高速USB,走线要求不高,随便拉。另外不明白为什么还在玩51,这货又不能调试,开发麻烦的很 这个我当时考虑了,理应用al
- flashtt PCB设计
设计资源 培训 开发板 精华推荐
- LT3091IR 简单电缆压降补偿的典型应用
- 使用 MaxLinear, Inc 的 SPX2951 的参考设计
- LT3781EG LTC1698EGN LT1783CS5 演示板,隔离式同步正向转换器
- ATPL360-EK、PL360B 电力线通信 (PLC) 评估套件
- UM10484,基于 TFF1007 和缓冲放大器的集成 Clean-Up-PLL 演示板
- 基于L6360的IO-Link主站多端口评估板
- LTC3634EFE 降压型稳压器的设计示例电路
- MC78M08CDTRKG 8V 电流调节器的典型应用
- LT1184FCS 浮动 CCFL 的典型应用电路,具有电位器控制灯电流
- RH27C典型应用——精密运算放大器