论文部分内容阅读
【摘要】当下社会,伴随着科学技术的大力发展,人民显著地提升了自我生活水平,生活节奏也变得越来越快,从而经常在身边发生丢失钱物的现象,甚至丢失儿童的事情也时有出现。为了应对这种情况,防丢器的发明应运而生。本文阐述的蓝牙防丢系统是采用STM32F103型单片机进行设计的。首先阐述了目前人们有时候会忘记一些物品或是儿童玩耍容易走出家长视线的现象,开始进行针对性设计。主要功能包括:防丢器的蓝牙模块可以与手机蓝牙模块相连;手机操作界面可以让装置发出警报;可以通过装置令手机发出警报声;蓝牙断开链接,手机与装置同时报警。此设计的主要模块包括:STM32F103C8T6最小系统,电源模块,蓝牙模块,报警模块等。在设计的基础上给出了对于基本模块的理解与实现,最后给出了在未来系统需要进一步被完善的方向。
【关键词】单片机;防丢装置;蓝牙;检测报警
目前由于个人、家庭责任和社会竞争等诸多因素,人们往往把自己的大脑投入到应对这种忙碌和紧张的情况,从长远来看会导致记忆力下降,出现健忘的症状,往往不记得自己的包,自己的手机,钥匙等放在何处。本课题设计的智能防丢器采用了蓝牙技术,以单片机为主控,分别控制蓝牙模块与报警模块,意图在于在嘈杂的人群中发挥丢失报警的作用,有效的解决丢失物品的问题。
本设计分为软硬件两部分,以基于STM32的蓝牙防丢器的设计与实现,完成手机端APP与微控制器STM32F103之间的数据传输系统。
硬件部分设计思想基于STM32单片机、蓝牙模块HC-05、蜂鸣器、提示报警模块、电源模块搭建电路,利用蓝牙的连接与断开,控制硬件达到报警与否。
1. 系统硬件设计
1.1 报警模块设计
本设计使用的是有源蜂鸣器,只要通电蜂鸣器就可以发出声音。无源蜂鸣器的优点是:价格低廉、可以发出多种声调,一些成品的例子里,控制端口可以重复使用。有源蜂鸣器优点则是通过编程控制较为简单。
在本设计中,蜂鸣器引脚接单片机PC15,当上位机寻找下位机或者二者连接已断开时,MCU将一个低电压发送到8050三极管的发射极,三级管导通,蜂鸣器报警,二极管发光。
1.2 蓝牙模块设计
该系统采用HC-05蓝牙串口模块,HC-05不仅实现了蓝牙HCI层以下物理链路的建立,而且处理器只需RXD,TXD两组信号,即可对其进行控制与传输,大大降低了设计难度,减少了设计与开发的时间。
处理器和蓝牙之间建立无线传输只需要蓝牙讯号,因此只需要在HCI层以下实现协议栈即可。在蓝牙的整体系统中,HCI是位于作为L2CAP(逻辑链路控制和适配协议)层和LMP(链路管理协议)层之间的协议层,是蓝牙2.0技术的一个工作层。2.0蓝牙技术对比1.2版本,一些BUG得到了修复,部分功能得到了增加,传输速率也提升到2M/s左右,增加了对于全双工模式的支持。但是,旧版本蓝牙技术中,配置操作复杂以及耗电量大的特性仍旧没有得到缓解。本蓝牙模块主要使用RXD与TXD两个引脚来实现与单片机与手机的收发信号功能。
1.3 电源模块设计
此设备电源模块的来源可以通过计算机的USB口供给,也可以由5V-1A的手机充电头进行提供。电路中添加了电源指示LED小灯L2,方便用户检测设备的供电状态。图中R9为LED的限流电阻,阻值为1K欧姆,SW1为电源开关。
2. 系统软件设计
2.1 开发环境
本设计采用Keil Software公司出品的集成环境进行编程,Keil是德国Keil Software公司出品的51/32系列兼容單片机C语言软件开发系统,其版本为Keil μVision5。Keil μVision5是2013年10月发布的最新版本,是针对Windows桌面平台所研发的一套完整的集成开发环境,具有可视化、灵活的Windows窗口管理。与汇编等语言相比较,C语言在节省编写阅读时间、易于维护和可以完成的功能方面具有明显的优势,易于学习和用户使用。
2.2 主要程序设计
2.2.1 主程序设计
软件的部分设计一共有两部分,一是对STM32单片机的初始化、中断程序的设计,对蜂鸣器的调用程序、对LED灯的调用程序、第二部分是软件代码的设计,主要用到的语言是C语言。
本系统使用STM32F103C8T6型单片机最小系统作为控制的单片机芯片,软件设计部分主要分为:系统初始化、蓝牙模块、报警模块等部分,每个功能模块对整体设计都非常重要。通过软件程序控制的STM32F103C8T6可以很好地获得收集的外部信息、进行分析和处理。本设计的主程序的流程图,如图2.1所示。
2.2.2 报警模块子程序设计
本次设计采用蜂鸣器报警。蜂鸣器俗称喇叭,是广泛运用于各种电子产品的一种元器件,它用于提示、报警、音乐等诸多运用场合。
本系统使用上下位机均可报警的设计完成报警电路,上下位机断开连接时,二者同时报警。在设计中,下位机寻找上位机时,按下按钮驱动上位机自带的报警声音,上位机寻找下位机时,按下按钮,下位机蜂鸣器发出提示音,LED小灯闪烁。
2.2.3蓝牙驱动子程序设计
蓝牙系统有三种主要状态:待机状态,连接状态和省电状态。在从待机状态转换到连接状态期间,有7个子状态:寻呼、寻呼扫描、查询、查询扫描、主响应、从响应、查询响应。物理信道是蓝牙系统的最低层结构,其特征在于伪随机跳频序列,特定传输时隙定时,接入码和帧头编码。本程序主要使用蓝牙作为连接载具,起到为单片机以及APP端收发数据的作用。
3. 系统的组装与测试
系统的组装与测试分为硬件焊接组装测试与软件测试,是对整个设计系统的完成度、稳定性的测试,意图在于发现设计过程中出现的设计错误,或者是不完善的某些部分,从而修改设计理念,保证整个系统的正常运行。 3.1 硬件的组装与测试
要做好元器件的组装焊接工作,首先需要准备好需要的元件,焊接工具。准备好所需的元器件和工具以后,需要根据电路原理图安装好元器件,安装的时候要注意,元件要平整安装。安装元器件后,焊接时要注意焊接前要处理焊盘上的氧化层。焊接要遵循先焊接小元件,再焊接大元件,先处理不容易焊接的元器件,这个和连接元器件的原则是一样的。
将元器件都进行正确的安装固定后,进行组装电路最后一个步骤,也是最关键的一个步骤,那就是焊接。电烙铁要用220V交流电源,使用时要特别注意安全。
焊接完成后,在通电调试之前,必须认真检查电路连线是否有错误。
3.2 软件的测试
该系统使用主要在KEIL5平台上实现的C语言编程。当手机app启动时,主板上的应用程序微控制器启动并成功初始化,微控制器启动对蓝牙连接状态的检测。如果连接,程序的内部功能将保留在当前指令上,如果断开连接,则会打开蜂鸣器和LED的闪烁警报提醒。
主控制应用是为Android 4.0及更高版本的操作系统设计的,所使用的开发工具是一个广泛的跨平台集成开发环境Eclipse。蓝牙主机系统APK安装在智能手机上,点击蓝牙防丢器程序,应用程序将弹出启动蓝牙请求接口,点击允许进行蓝牙连接。连接防丢设备后,STM32F103C8T6单片机会将自动重置并开始运行该程序。对于接收蓝牙数据的手机,如果蓝牙模块未接收到数据,在手机上使自带的报警声响起。
当手机和蓝牙主板超过一定距离,手机蓝牙和蓝牙主板鏈路断开,即认定超过安全距离,手机发出报警声,同时蓝牙主板上的有源蜂鸣器发出报警,LED指示灯闪烁。
参考文献:
[1]韩冬.基于蓝牙的防丢器硬件设计与实现.河南教育学院学报(自然科学版),2015,24(3):39-41.
[2]孙慧.手机防丢系统的设计.技术与市场,2016,23(7):81-82.
[3]张毅刚.单片机原理及接口技术[M].北京:人民邮电出版社,2011:1-13.
[4]刘星.基于蓝牙和单片机的智能控制系统设计.电子技术设计与应用,2013,38(6):46-48.
[5]李辉.STM32单片机的原理分析与硬件电路设计.电子测试,2018,14(1):26-28.
作者简介:李怡(1997-),女,盘锦市,学历:本科,学生。通讯作者:赵云鹏(1983.2-),辽宁朝阳。教师,职称:讲师,研究方向:信息系统。
【关键词】单片机;防丢装置;蓝牙;检测报警
目前由于个人、家庭责任和社会竞争等诸多因素,人们往往把自己的大脑投入到应对这种忙碌和紧张的情况,从长远来看会导致记忆力下降,出现健忘的症状,往往不记得自己的包,自己的手机,钥匙等放在何处。本课题设计的智能防丢器采用了蓝牙技术,以单片机为主控,分别控制蓝牙模块与报警模块,意图在于在嘈杂的人群中发挥丢失报警的作用,有效的解决丢失物品的问题。
本设计分为软硬件两部分,以基于STM32的蓝牙防丢器的设计与实现,完成手机端APP与微控制器STM32F103之间的数据传输系统。
硬件部分设计思想基于STM32单片机、蓝牙模块HC-05、蜂鸣器、提示报警模块、电源模块搭建电路,利用蓝牙的连接与断开,控制硬件达到报警与否。
1. 系统硬件设计
1.1 报警模块设计
本设计使用的是有源蜂鸣器,只要通电蜂鸣器就可以发出声音。无源蜂鸣器的优点是:价格低廉、可以发出多种声调,一些成品的例子里,控制端口可以重复使用。有源蜂鸣器优点则是通过编程控制较为简单。
在本设计中,蜂鸣器引脚接单片机PC15,当上位机寻找下位机或者二者连接已断开时,MCU将一个低电压发送到8050三极管的发射极,三级管导通,蜂鸣器报警,二极管发光。
1.2 蓝牙模块设计
该系统采用HC-05蓝牙串口模块,HC-05不仅实现了蓝牙HCI层以下物理链路的建立,而且处理器只需RXD,TXD两组信号,即可对其进行控制与传输,大大降低了设计难度,减少了设计与开发的时间。
处理器和蓝牙之间建立无线传输只需要蓝牙讯号,因此只需要在HCI层以下实现协议栈即可。在蓝牙的整体系统中,HCI是位于作为L2CAP(逻辑链路控制和适配协议)层和LMP(链路管理协议)层之间的协议层,是蓝牙2.0技术的一个工作层。2.0蓝牙技术对比1.2版本,一些BUG得到了修复,部分功能得到了增加,传输速率也提升到2M/s左右,增加了对于全双工模式的支持。但是,旧版本蓝牙技术中,配置操作复杂以及耗电量大的特性仍旧没有得到缓解。本蓝牙模块主要使用RXD与TXD两个引脚来实现与单片机与手机的收发信号功能。
1.3 电源模块设计
此设备电源模块的来源可以通过计算机的USB口供给,也可以由5V-1A的手机充电头进行提供。电路中添加了电源指示LED小灯L2,方便用户检测设备的供电状态。图中R9为LED的限流电阻,阻值为1K欧姆,SW1为电源开关。
2. 系统软件设计
2.1 开发环境
本设计采用Keil Software公司出品的集成环境进行编程,Keil是德国Keil Software公司出品的51/32系列兼容單片机C语言软件开发系统,其版本为Keil μVision5。Keil μVision5是2013年10月发布的最新版本,是针对Windows桌面平台所研发的一套完整的集成开发环境,具有可视化、灵活的Windows窗口管理。与汇编等语言相比较,C语言在节省编写阅读时间、易于维护和可以完成的功能方面具有明显的优势,易于学习和用户使用。
2.2 主要程序设计
2.2.1 主程序设计
软件的部分设计一共有两部分,一是对STM32单片机的初始化、中断程序的设计,对蜂鸣器的调用程序、对LED灯的调用程序、第二部分是软件代码的设计,主要用到的语言是C语言。
本系统使用STM32F103C8T6型单片机最小系统作为控制的单片机芯片,软件设计部分主要分为:系统初始化、蓝牙模块、报警模块等部分,每个功能模块对整体设计都非常重要。通过软件程序控制的STM32F103C8T6可以很好地获得收集的外部信息、进行分析和处理。本设计的主程序的流程图,如图2.1所示。
2.2.2 报警模块子程序设计
本次设计采用蜂鸣器报警。蜂鸣器俗称喇叭,是广泛运用于各种电子产品的一种元器件,它用于提示、报警、音乐等诸多运用场合。
本系统使用上下位机均可报警的设计完成报警电路,上下位机断开连接时,二者同时报警。在设计中,下位机寻找上位机时,按下按钮驱动上位机自带的报警声音,上位机寻找下位机时,按下按钮,下位机蜂鸣器发出提示音,LED小灯闪烁。
2.2.3蓝牙驱动子程序设计
蓝牙系统有三种主要状态:待机状态,连接状态和省电状态。在从待机状态转换到连接状态期间,有7个子状态:寻呼、寻呼扫描、查询、查询扫描、主响应、从响应、查询响应。物理信道是蓝牙系统的最低层结构,其特征在于伪随机跳频序列,特定传输时隙定时,接入码和帧头编码。本程序主要使用蓝牙作为连接载具,起到为单片机以及APP端收发数据的作用。
3. 系统的组装与测试
系统的组装与测试分为硬件焊接组装测试与软件测试,是对整个设计系统的完成度、稳定性的测试,意图在于发现设计过程中出现的设计错误,或者是不完善的某些部分,从而修改设计理念,保证整个系统的正常运行。 3.1 硬件的组装与测试
要做好元器件的组装焊接工作,首先需要准备好需要的元件,焊接工具。准备好所需的元器件和工具以后,需要根据电路原理图安装好元器件,安装的时候要注意,元件要平整安装。安装元器件后,焊接时要注意焊接前要处理焊盘上的氧化层。焊接要遵循先焊接小元件,再焊接大元件,先处理不容易焊接的元器件,这个和连接元器件的原则是一样的。
将元器件都进行正确的安装固定后,进行组装电路最后一个步骤,也是最关键的一个步骤,那就是焊接。电烙铁要用220V交流电源,使用时要特别注意安全。
焊接完成后,在通电调试之前,必须认真检查电路连线是否有错误。
3.2 软件的测试
该系统使用主要在KEIL5平台上实现的C语言编程。当手机app启动时,主板上的应用程序微控制器启动并成功初始化,微控制器启动对蓝牙连接状态的检测。如果连接,程序的内部功能将保留在当前指令上,如果断开连接,则会打开蜂鸣器和LED的闪烁警报提醒。
主控制应用是为Android 4.0及更高版本的操作系统设计的,所使用的开发工具是一个广泛的跨平台集成开发环境Eclipse。蓝牙主机系统APK安装在智能手机上,点击蓝牙防丢器程序,应用程序将弹出启动蓝牙请求接口,点击允许进行蓝牙连接。连接防丢设备后,STM32F103C8T6单片机会将自动重置并开始运行该程序。对于接收蓝牙数据的手机,如果蓝牙模块未接收到数据,在手机上使自带的报警声响起。
当手机和蓝牙主板超过一定距离,手机蓝牙和蓝牙主板鏈路断开,即认定超过安全距离,手机发出报警声,同时蓝牙主板上的有源蜂鸣器发出报警,LED指示灯闪烁。
参考文献:
[1]韩冬.基于蓝牙的防丢器硬件设计与实现.河南教育学院学报(自然科学版),2015,24(3):39-41.
[2]孙慧.手机防丢系统的设计.技术与市场,2016,23(7):81-82.
[3]张毅刚.单片机原理及接口技术[M].北京:人民邮电出版社,2011:1-13.
[4]刘星.基于蓝牙和单片机的智能控制系统设计.电子技术设计与应用,2013,38(6):46-48.
[5]李辉.STM32单片机的原理分析与硬件电路设计.电子测试,2018,14(1):26-28.
作者简介:李怡(1997-),女,盘锦市,学历:本科,学生。通讯作者:赵云鹏(1983.2-),辽宁朝阳。教师,职称:讲师,研究方向:信息系统。