多重传感器的驾驶员疲劳驾驶与预警系统开发_第1页
多重传感器的驾驶员疲劳驾驶与预警系统开发_第2页
多重传感器的驾驶员疲劳驾驶与预警系统开发_第3页
多重传感器的驾驶员疲劳驾驶与预警系统开发_第4页
多重传感器的驾驶员疲劳驾驶与预警系统开发_第5页
已阅读5页,还剩58页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

多重传感器的驾驶员疲劳监测与预警系统开发摘要:近些年,交通安全一步步成为大众在意的重点问题。在特别情况下,驾驶员因疲劳或因为身体不适引起的交通事故频繁发生,严重威胁了驾驶员和乘客的生命安全,同时给道路交通管理带来巨大压力。针对当前监测手段不丰富、响应缓慢、缺乏多曾测生理参数的现状,本文设计并实现了基于STM32单片机的多传感器驾驶员疲劳监测预警系统。系统采用模块化设计理念,将主控模块、心率和血氧监测模块等模块和发动机启动仿真模块有机集成,系统可实现对驾驶过程中驾驶员的心率血氧数据的实时监控和异常预警,有效降低疲劳驾驶、酒驾等风险事故的发生率,提高道路交通安全水平。系统中采用了AltiumDesign软件进行了硬件电路原理图的设计,使用Keil软件进行了驱动代码的设计。最终实现了对驾驶员心率血氧、是否酒驾的检测,实现自动控制发动机的制动和是否符合启动状态。关键词:疲劳监测;预警系统:STM32单片机;

Developmentofmulti-sensordriverfatiguemonitoringandearlywarningsystemAbstract:Inrecentyears,trafficsafetyhasbecomeamajorconcernforthepublic.Insomecases,driverfatigueorpoorphysicalconditionhasledtomanytrafficaccidents.Theseaccidentsthreatenthelivesofdriversandpassengersandalsobringhugepressuretoroadtrafficmanagement.Thecurrentmonitoringmethodshavelimitations,areslowtorespond,andlackthemeasurementofmultiplephysiologicalparameters.ThispaperdesignsadriverfatiguemonitoringsystemthatusesSTM32microcontrollersandmultiplesensorsforearlywarning.Thesystemadoptsamodulardesign,integratingthemaincontrolmodule,heartrateandbloodoxygenmodule,andenginestartsimulationmoduleintooneunit.Thesystemcanmonitorthedriver'sheartrateandbloodoxygeninrealtimeduringdrivingandissueanalarmwhenabnormalitiesoccur.Thishelpsreducetherisksoffatiguedrivinganddrunkdriving,andimproveroadtrafficsafety.ThesystemusesAltiumDesignforhardwareschematicdesignandKeilsoftwaretodevelopdriverprogramcode.Ultimately,thesystemcandetectheartrate,bloodoxygen,anddrunkdrivingstatus,automaticallycontrolenginebraking,andcheckstartconditions.KeyWords:Fatiguemonitoring;Earlywarningsystem;STM32MCU;

目录TOC\o"1-3"\h\u227381前言 5217711.1研究背景及意义 563201.2国内外研究现状 6291251.2.1国外研究现状 6214171.2.2国内研究现状 769182系统方案论证 883242.1系统总体设计方案 8218182.2具体模块设计 981193系统硬件设计 1076353.1系统整体电路图 1011443.2单片机模块设计 111443.2.1单片机模块介绍 11172483.2.2单片机电路设计 12164073.3酒精传感器设计 13315293.3.1酒精检测传感器介绍 13297603.3.2酒精检测传感器电路设计 1441683.4心率血氧传感器设计 15214343.4.1心率血氧检测传感器介绍 15313503.4.2心率血氧检测传感器电路设计 17194533.5语音播报模块电路 17315903.5.1语音播报模块介绍 17249953.5.2语音播报模块电路设计 19287243.6显示模块设计 20257513.6.1显示模块介绍 20151943.6.2显示模块电路设计 2178743.7按键模块设计 24294753.7.1按键模块介绍 2464313.7.2按键模块电路设计 2584483.8继电器模块电路 26128843.8.1继电器模块介绍 26333.8.2继电器模块电路设计 27233723.9本章小结 28241334系统软件设计 28126424.1系统主函数设计 2860464.2传感器模块设计 30110374.2.1酒精检测传感器 30120894.2.2心率血氧检测传感器 30295794.3语音播报模块设计 31203044.4显示模块设计 32127364.5按键模块设计 3465024.6继电器模块设计 3494764.7本章小结 35113045系统测试 369475.1软件测试 36136655.2硬件测试 36148135.3本章小结 38226606.结论 39200096.1总结 39139826.2展望和未来优化方向 409862参考文献 412726致谢 4429615附录 451前言1.1研究背景及意义近些年来,社会经济一直在发展,交通问题受到全世界所有人的密切关注,许多人感到疲劳驾驶对驾驶安全存在很大影响,特别是长时间持续驾驶时,容易引发驾驶员注意力分散,反应迟钝等现象,从而加大了交通事故发生的概率[1],于是,针对驾驶员疲劳状态展开监测并发出警报的相关研究与开发工作便显得尤为重要,伴随科技不断发展更新换代,传感器技术和智能化手段被采用之后,给疲劳驾驶检测带来新的方向与解决途径[2],特别是在如今汽车智能化,自动驾驶技术逐渐推广开来这样一种大背景之下,当融合各类传感器的驾驶员疲劳监测警报系统投入使用以后,就能随时监测驾驶者的身体状况,而且依靠精准的警报设置有效阻止交通事故的产生[3]。此项更新技术得以执行,其目的在于凸显提升道路安全水平及其驾驶时的舒适度,这表明智能交通方面得到了重要发展,文章精心形成出一套融合型传感器系统,想要依靠这个来明显优化驾驶员的安全等级,切实避免由于疲劳,酒后驾车之类的情况所引发的交通安全风险。图1穿戴式心率血氧实物图本文要研究一种新的技术——依靠多重传感器的驾驶员疲劳监测及警报系统,希望凭借此来极大地缩减交通事故发生的概率,进而改善整个道路交通的安全性状况,这个系统整合了酒精检测传感器,心率和血氧水平监测设备,语音交互单元,显示界面以及控制按键等许多不同的功能板块,目标在于做到对驾驶员健康指数和驾驶操作的即时观察与评价,如果车载探测系统识别到驾驶员处于疲劳驾驶,酒后驾车或者身体不适等危险状态之下,就会立即启动各种形式的警告措施,其中覆盖语音告知和警示信息显示这样的方法,尽力促使驾驶员能够尽快知晓并实施相应的调整动作,以保障行车安全。这个系统表现出很强的数据收集与处理能力,能够应对各类繁杂的驾驶情形,从而做到长时间连续即时观察,这样的特性令它成为不可或缺的技术手段,相关研究已被刊载于文献[4]之中,伴随现代交通安全技术持续更新发展,智能化进程逐步加快,本系统通过设计并实施开发之后,着眼于进一步挖掘其在未来智能交通经营及自动驾驶方面应用的巨大潜能,给这些领域带来关键的技术支撑和解决办法,进而大幅提升整个交通系统的效率和安全性能[5]。1.2国内外研究现状1.2.1国外研究现状GuirrouHamza等学者提出了一个创新的多模态疲劳驾驶检测体系,该系统综合运用内置摄像头、前置摄像头以及车辆动态信息,并借助机器学习技术精确评估驾驶员的注意力水平,其工作原理与效果如图所示。该系统凭借持续观察并动态评价驾驶员情况的能力,切实优化了道路安全水平,做到了针对各种驾驶行为给予及时解读和警告提示,给交通安全守护体系带来了革新性的应对手段[6],AshwiniAraballi与SangharshShinde提出了一种新的监测办法,重点在于利用外部形状比例(EAR)和嘴巴张开比例(MOR)技术来达成对驾驶员疲劳状态的即刻判断,从而进一步巩固道路安全并改善驾驶效能,这项技术把RaspberryPi模块同Pi摄像头结合在一起,目标就是有效地辨别驾驶员的眼部和口部特点,当察觉到任何表现驾驶员困倦的迹象时,马上给出报警信号,如此便可有效地规避可能出现的交通意外事故[7]。SaleemAdilAli与其团队就其他学者所开发的许多依赖生物电信号的疲劳检测技术实施全面回顾分析,细致评判各类检测策略存在的优势与不足,在此基础上,他们创造性地提出一种结合眼部,口腔及头部特征的综合性疲劳观测方案,试图通过多维度生理指标的综合考量达成更精准,有效的疲劳状况识别,这项研究给疲劳驾驶情形中的生理信号监测范围形成稳固的理论支撑并给予明晰的技术指引,既能提升人们对这个领域的认识深度,又能突出推动相关技术在实际应用场景中有效地执行和推广[8],LiYongkai及其团队凭借深度学习框架更新性地规划出一种高效的轻量级人脸疲劳监测系统。他们采用可穿戴技术加上卷积神经网络(ConvolutionalNeuralNetwork,CNN)这种方式,试图通过监测司机眼部闭合次数来准确判断司机是不是处于疲劳驾驶状态,实验得到的数据显示,这个系统不仅能够在各类行驶环境下正常运行,其准确性也远高于预期,这样一种把生物信号处理与深度学习方法融合起来的做法表现出一系列引人注目的优势,格外体现在二者一同对复杂环境中的决策产生作用的时候[9]。1.2.2国内研究现状在国内,针对疲劳驾驶监测技术展开的研究及其应用已有较为显著的改善与发展趋向,伴随智能交通系统以及自动驾驶技术持续推进并得以推广开来,不少研究领域开始着眼于疲劳驾驶对交通安全所造成的潜在影响这一重要话题,具体情形可参照下面给出的图表。陈怡帆及其团队运用前沿的人工智能图像处理技术,更新性地研发出一种结合了YOLOv3目标检测框架和PERCLOS(PercentageofEyeOpened)算法的驾驶员疲劳检测系统,该系统凭借随时剖析驾驶员面部表情,眼部动作等重要指标,并整合GPS定位技术[10],达成了对驾驶员疲劳状况的精准观察和警报功能,这项研究既更新性地采用了先进技术来支撑疲劳驾驶检测,又在推进智能交通技术全面发展上起到了重要作用,这一点被文献[11]所提及,而对于轨道交通领域的探究,张先生已开始展开相关工作,并研发出专门面向全自动驾驶地铁线路的疲劳监测系统。此系统可对驾驶员的生理指标及行为特征实施即时观察,精准地察觉到疲劳驾驶情形,其体系结构具有科学性且合理性强,包含着经过改良的监测机制,有效地加强了轨道交通安全保障水准及其运作效率,达成了全方位又高效的改善效果[12],来自西安思源学院的徐光光等人给出了新构想,也就是使用面部多种特征的驾驶员疲劳监测系统,期望通过多角度剖析来准确识别并考量驾驶者的疲惫状况,利用全面考察驾驶员眼部动作,嘴巴神态以及头部姿势的综合评判手段,这个系统可以精确判定个人是不是存在疲劳驾驶情况,依靠实证研究显示,这种系统对于疲劳驾驶状态的监测准确性有着明显上风,削减了因疲劳驾驶引发的交通事故风险[13]。胡家豪博士基于机器学习原理,精心研发出一套针对疲劳驾驶状态展开实时监测的全新系统,这个体系采用经改良后的人脸识别技术,再加上脸部特点点剖析方式,意在精准测评驾驶员是否处于疲惫状况,凭借改良后的YOLOv8模型及新颖的脸部特性抽取技巧,这套系统不但可做到高效率且精准的疲惫评价,而且添加了一套及时警报手段,保证在察觉到不正常情况后可以立刻做出反应,实验成果表明,该系统具备很突出的检测精确度和辨别速率,特别适合长时间开车的情形[14]。陈星宇等人提出了一种多维疲劳监测技术,这种办法着重对眼部,嘴巴活动以及头部姿势这些方面开展综合考察[15],力求全方位,准确地估计人们的疲倦水平。依靠机器学习算法来细致剖析驾驶员的面部关键之处,从而达成及时察觉并精准判断驾驶员疲劳状况的目的,当识别出驾驶员开始显露疲惫之态时,马上启动警报装置,以保障行驶途中的安全,从相关实验所得的数据来看,这个系统明显改善了驾驶员的安全系数,削减了因疲劳驾车而引发的车祸发生概率,这一点已被充分证明[16]。

2系统方案论证2.1系统总体设计方案在进行多重传感器的驾驶员疲劳检测与预警系统开发的过程中,将整个系统划分成若干个模块来分别实现。系统包含的模块主要有:主控模块、酒精检测模块、心率血氧检测模块、语音播报模块、显示模块、按键模块和汽车发动模拟模块。其中主控模块作为整个系统的“大脑”,一旦确定则决定了整个系统的性能和扩展上限。考虑到设计中对于传感器使用较多,因此需要处理的数据量较大,并且对系统的运行效率要求较高,因此,选择了STM32单片机作为主控进行了设计。作为驾驶员疲劳检测系统,对于酒精浓度的检测也是非常重要的,可以判断驾驶员是否为酒驾。系统通过MQ3酒精检测传感器来实现对是否酒驾的检测。系统中同样通过心率血氧检测模块来实时对驾驶员的心率和血氧参数进行检测,当检测到心率或血氧浓度过低时,会通过语音播报提醒驾驶员及时就医[17]。系统针对心率血样检测模块采用了MAX30102心率血氧检测模块来实现。对于语音播报主要是用来提醒驾驶员,系统采用了WT588D语音播报模块来设计实现。显示模块用来显示当前心率、血氧、酒精浓度、发动机是否点火、驾驶时间等参数信息。由于涉及到较多内容的显示,系统使用OLED显示屏进行设计。按键模块在设计中的作用是可以进行酒精上限、心率和血氧上下限的设置,并且可以通过按键模拟启动和关闭发动机。汽车发动模块在设计中使用继电器来实现模拟是否启动或关闭。综上所述,系统的硬件结构框图如图2.1所示。该章节属于由单片机控制的列车追踪模拟系统的硬件设计方案,包含单片机模块,轨道电路设计,无线通信模块设计,其它辅助模块设计等部分。单片机模块设计:选用51单片机,阐述其特性及接口划分状况,此款单片机负责接收来自轨道电路的信息并与无线通信模块实施数据交换。轨道电路设计:直流轨道电路在列车检测中的应用及原理优劣分析无线通信模块设计:选定HC-05蓝牙无线通讯模块,并对其特性与长处加以阐述,该模块主要承担起单片机与列车间无线数据传递的任务。其他辅助模块设计:包含车载设备电路设计,数码管模块设计以及区段信号机模块设计,数码管模块能够显示列车所在的区段信息,区段信号机模块承担着对红灯和绿灯的管控任务,以此来体现列车的行驶情况。2.2具体模块设计本方案中需要实现两个重要方案,首先先寻找影响安全驾驶的因素。并探索传感器进行数据监测,如酒精度数过高,精神疲惫时都可能会带来驾驶的危险。于是打算通过STM32单片机作为主要输出模块。通过酒精度数传感器监测,驾驶员驾驶前是否符合规范要求进行开车,最终选择MQ3酒精检测传感器,可以较为准确的测算酒精度数。再通过测量驾驶员的血氧心率来判断是否疲劳驾驶,若数据过低,则需要报警提醒,选择MAX30102心率血氧传感器。同理在有了数据的支持下,需要进一步给司机更直观的辅助,那么语音的直接提示以及显示屏的间接显示就非常重要。语音模块需要实现当酒精度数和血氧心率等数据达到一定的阈值时,对驾驶员提出警告和禁止继续开车,需要休息等信息,时刻提醒驾驶员,选择WT588D语音播报传感器。语音播报实现在一定界限时的准确提醒,但一般驾驶员会想知道大概多久需要进行休息,如大货车司机需要合理选择休息区,而顺风车司机大概率会选择离家近或者更好接单的地方进行休息。我选择OLED液晶显示屏,显示清晰不伤眼睛。

3系统硬件设计3.1系统整体电路图将上述各个模块的电路图进行汇总,得到的系统整体电路图如图3.8所示。图3.8系统整体电路图

3.2单片机模块设计3.2.1单片机模块介绍方案一:STM32F103C8T6,一款由STMicroelectronics开发并基于ARMCortex-M3内核的32位微控制器,因其出色的性能而被广泛应用于各种嵌入式系统中,特别适合于需求较高计算能力的应用场景。此微控制器具备卓越性能,其最高主频可达到72MHz,配备64KB的闪存以及20KB的静态随机存取存储器(SRAM),完全胜任对中等至高性能嵌入式应用的复杂需求。该系统内嵌有丰富多样的外部设备接口,涵盖如通用同步异步收发器(USART)、串行PeripheralInterface(SPI)以及Inter-IntegratedCircuit(I2C)等多种通信机制,旨在高效支持多样化的外部设备集成,从而实现对多个传感器数据的高效采集与精细处理任务。STM32F103C8T6微控制器凭借其出色的低功耗特性,特别适合于那些要求长时间稳定运行且对能效有严格需求的复杂系统应用。通过优化中断响应机制并实现精确的时间管理,系统显著提高了响应速度与稳定性,这一改进尤其体现在整体性能的增强上([18])。图2.2STM32F103C8T6实物图方案二:AT89S52属于Atmel公司所推出来的一种依靠51核心的8位单片机,该单片机全面应用于低成本,低能耗的植入式体系当中,它的主要频率达到了24MHz,内部存有8KB的闪存以及256B的RAM,适宜执行简易的控制任务,AT89S52有着多种各类的外设接口,平行I/O端口,串行端口,计时器等等,可以凭借这些接口便捷地衔接各类外接设备和传感器,纵使AT89S52的处理能力比不上STM32F103C8T6强劲,不过它的低能耗特征让它在低成本项目里占据了一席之地,特别合适那些用不上繁杂数据处理的场合[19],而且,AT89S52较为简单又很稳定,所以一直被广泛性采纳,可以符合一般交通流量控制方面的需求。图2.3AT89S52实物图表2.1主控芯片性能对比表型号STM32F103C8T6AT89S52处理器核心ARMCortex-M3,72MHz51内核,24MHz内存64KB闪存,20KBSRAM8KB闪存,256BRAM外设接口USART,SPI,I2C,CAN等并行I/O口,串口,定时器处理能力高速处理,适合复杂任务适合基础控制,处理能力较低系统稳定性较高的稳定性与快速响应能力稳定性好,适合简单应用作为多传感器驾驶员疲劳检测系统,使用到的外设和传感器较多,因此,对于主控芯片的性能和接口数量具有一定的要求,通过对上述两款芯片的参数分析,最终选择STM32单片机进行设计。3.2.2单片机电路设计单片机最小系统是单片机控制系统能够运行的基础保障,单片机最小系统包含了晶振电路、复位电路、下载电路、BOOT电路等。所实现的功能分别是为系统运行提供时钟基准、实现硬件复位、实现软件下载、实现BOOT选择。本系统设计出的硬件电路原理图如图3.1所示。图3.1单片机最小系统电路图由图3.1可以看出,对于单片机最小系统来说,包含了描述的部分,其中晶振模块采用8MHz晶振通过两个20pF的电容和地并联,复位模块通过按键连接电阻和电容,让系统可以实现硬件复位。单片机接口连接分配如所示接口连接PA0SDAPA1SCLPB0P03PB1ADC1PB12按键1PB13按键2PB14按键3PB15按键4PB6SCL2PB7SDA2PB8JDQ 3.3酒精传感器设计3.3.1酒精检测传感器介绍在多重传感器的驾驶员疲劳监测与预警系统中酒精传感器在设计中的作用是实现对驾驶员是否酒驾的检测[20],因此,酒精检测模块在设计中的重要性不言而喻。方案一:MQ3属于一种被广泛性采纳的酒精传感器,这种传感器把半导体材料当作敏感部件来用,它工作的时候,借助酒精气体分子同传感器表面产生反应,造成传感器电阻出现改变,进而输出对应的电信号。MQ3酒精传感器有着比较高的灵敏程度,可以察觉到浓度处于10ppm到1000ppm之间的酒精气体,所以很适宜用来检测空气中含有的低浓度酒精成分,在车载酒精检测以及酒精警报装置当中,它能够精确地感受到酒精气体的变动情况,并及时作出回应,这个传感器的工作电压是5V,这会给整个系统带来稳定的工作效能,使其可以在各类环境之下持续不断地运行很长时间,MQ3的响应历时很短,可以立即察觉到酒精气体,而且它的耗电量较少,适宜于长时间运作。图2.4MQ3酒精检测传感器实物图方案二:MEMSGM

-

302B酒精检测传感器依靠微机电系统(MEMS)技术,同MQ3之类的传统酒精传感器比起来,它有着更高的精度和稳定性,这个传感器凭借微型加热器和金属氧化物半导体去检测空气中的酒精含量,可以给出迅速而精准的数值,MEMSGM

-

302B传感器能够识别不同的酒精浓度,所以合适于各类应用场景,包含工业和商业用途,它的一大优势就是响应速度快而且测量精准,很适宜用在即时性较强的场合,再加上它的体积较为小巧,这对那些空间比较小的系统来说是个利好因素。图2.5MEMSGM-302B酒精检测传感实物图表2.2酒精检测传感器参数对比表型号MQ3MEMSGM-302B检测范围0.05mg/L到10mg/L0.1mg/L到5mg/L灵敏度对酒精气体高度敏感精度更高,响应更快响应时间相对较慢响应时间较快功耗低功耗功耗较高尽管MEMSGM-302B提供了更好的精度和更快的响应时间,但MQ3传感器更具成本效益,非常适合用于系统中的酒精检测系统。MQ3足够灵敏,可以检测到所需范围内的酒精浓度,并为车辆中的实时监测提供足够的响应时间。3.3.2酒精检测传感器电路设计作为疲劳驾驶检测系统,对于驾驶员是否酒驾的检测同样非常重要。而针对于酒精浓度的检测通过MQ3传感器模块来实现,在进行MQ3传感器模块的使用前,需要对模块的引脚和功能进行了解,本文采用的酒精检测传感器的引脚分布及功能表如表3.1所示。表3.1MQ3模块引脚说明表引脚名称功能1GND模块接地端口2DOUT数字数据输出端口3AOUT模拟数据输出端口4VCC逻辑高电平由表3.1可以看出,系统采用的MQ3传感器模块可以将引脚分为两个部分:模块供电部分和模块数据部分,其中引脚1和引脚4为模块的供电部分,分别接通地和电源。数据部分用来实现将传感器检测到的数据向单片机输入,引脚2为模块的数字信号输出端口,通过该端口可输出数字信号供单片机直接使用,引脚3为模块的模拟信号输出端口,通过该端口可输出模拟信号提供给单片机使用。因此,本文针对MQ3模块的硬件电路原理图如图3.2所示。图3.2乙醇检测模块电路图由图3.2可以看出,在本文设计中,该模块使用了模拟输出端口与单片机的PA1接口相连,通过阅读STM32单片机的引脚功能可以看出,STM32的PA1口为单片机的A/D端口,从而实现将传感器检测到的模拟信号转换成数字信号,数字信号才可以被单片机进行处理。酒精传感器模块与单片机接口如REF_Ref196911358\h表2所示:单片机接口酒精传感器模块接口PB1ADC1VCCVCCGRANDGRAND3.4心率血氧传感器设计3.4.1心率血氧检测传感器介绍在这个项目里,心率和血氧属于血流动力学的关键参数,可以有效地体现人体的健康状况,所以要采用高精度,低能耗的心率血氧传感器实施即时检测,以保证数据稳定又可靠[21]。方案一:MAX30102心率血氧传感器属于一种光学传感器,被全面应用到可穿戴健康设备以及医疗监测体系当中,利用光电容积脉搏波描记法来实施血氧饱和度和心率的测量工作,这个传感器整合了红外和绿光LED,还设置了高灵敏光电二极管,可以凭借对皮下血液流动所引发的光学反射变动加以检测从而算出心率和血氧指标数值。此款芯片自身具备低能耗特点,适宜执行长时间监测任务,而且内部设有温度传感器,能针对测量过程实施补偿修正操作以优化数据精准度,它的I2C通讯接口方便同单片机或者物联网装置相融合,所以成了智能手环,远距离医疗仪器以及健康监测体系里比较理想的部件之一,这款传感器有着不错的抵抗环境光线干扰的本领,可以在各种不同的光照情形之下维持住较为稳定的测量准确程度,进而适合用在大量不同的场合里面。图2.6MAX30102心率血氧传感器实物图方案二:MKB0805心率血氧传感器属于小型化,高精度的双波长光学检测传感器,专为可穿戴医疗设备及健康监测系统而设,该传感器以红光和红外光作为光源,通过检测不一样波长光线在血液里的吸收差别来算出血氧饱和度,再加上脉搏波分析就可以量出心率。MKB0805最突出的地方在于它的耗电量很低,可以长时间持续监测,这一点在依靠电池供电的可穿戴设备上特别占优,它的滤波算法经过改良,所以在运动或者复杂环境下也能维持比较稳定的测量数值,而且抗干扰能力有所加强,外界光线造成的干扰会更小一些,MKB0805配备了I2C和SPI两个通讯接口,给予了更为多种的资料传送途径,方便融入各种物联网健康监测体系当中。图2.7MKB0805心率血氧传感器实物图表2.3心率血氧传感器参数对比表型号MAX30102MKB0805测量原理光电容积脉搏波描记法双波长光学检测光源红外光和绿光LED红光和红外光通信接口I2CI2C/SPI功耗低功耗超低功耗体积小型封装超小型封装测量精度高精度高精度,优化滤波算法通过上述两款心率血氧传感器的参数对比MKB0805虽然具有更高的性能和更小的体积,但是在设计成本上占比较多,且两款传感器均采用I2C接口,所以作为功能验证,采用MAX30102传感器进行验证即可,可以有效降低硬件成本。3.4.2心率血氧检测传感器电路设计心率血氧传感器在设计中的作用是用来实现对人的心率和血氧浓度进行检测。系统中使用的MAX30102在使用前仍需要对用户手册进行查阅,根据用户手册可以得出,MAX30102心率血氧传感器模块的引脚功能如表3.2所示。表3.2MAX30102模块引脚说明表引脚名称功能1VCC逻辑高电平2SDA数据端口3SCL时钟端口4GND模块接地端口5INT中断由表3.2可以看出,对于心率血氧传感器,该传感器是通过IIC协议来实现通信的。因此,对于硬件电路来说,只需要将通信模块的引脚与单片机的引脚相连即可,同时需要将模块接通电源。根据引脚功能表设计出的硬件电路原理图如图3.3所示。图3.3MAX30102心率血氧检测模块电路图由图3.3可以看出,对于心率血氧检测模块来说,想要将数据发送给单片机只需要将IIC通信协议的两根引脚与单片机相连即可。设计中将心率血氧检测模块的两根引脚分别与单片机的PA0和PA1引脚相连。3.5语音播报模块电路3.5.1语音播报模块介绍语音模块在设计中的作用主要是当检测到疲劳驾驶时,进行语音提醒,能够有效的对司机起到提醒的作用[22]。方案一:WT588D语音模块属于功能很强的语音合成模块,被全面用在各种智能设备当中,这个模块有单独的解码器,可以直接播放在内存里保存的音频文件,不需要外接解码芯片,整合度比较高。WT588D支持像WAV,AD4之类的许多种音频格式,可以播放不一样格式的语音文件,适宜不同需求的应用场合,此模块支持串口通讯形式,能同主控芯片实施通讯,并对音频播放加以控制,WT588D语音模块最为突出之处在于其自身带有语音存储空间,而且支持通过SPI接口衔接外置存储设备,从而扩充了音频存储量。它耗电量小且体积较小,可以很好地融入各类便携设备当中,WT588D被全面用在语音提示,语音反馈,语音警报之类的场合,给用户带来优质的语音播放感受,同其他类似产品比起来,WT588D在音质,稳定性以及低能耗上的表现较为突出,成了很多智能产品里的关键形成单元。图2.8WT588D实物图方案二:DYSV-17F语音模块属于一种被全面应用到智能硬件以及语音识别系统当中的音频播放模块,这个模块内部设置了高质量的语音合成芯片,可以保存并播放各类语音数据格式,DYSV-17F具备很强的语音识别能力,发音也很清晰,适宜用在语音提醒,警报系统这些方面,它的操作较为简单,通过串口接口就能同主控芯片实施通信,从而控制要播放的语音内容,此模块还支持采用外置存储设备(像SD卡之类的)来存放诸多语音文件,而且耗电量低,很合适那些需要长时间运行的设备。DYSV-17F语音模块具备语音播放,语音识别以及语音提示等诸多功能,可以给系统带来准确的语音回馈,这个模块被普遍用在工业自动化,智能家居,电子产品等各个领域,总的来说,DYSV-17F语音模块凭借自身稳固的表现和较高的性价比,成了很多语音控制及警报系统的合适之选。图2.9DYSV-17F实物图表2.4语音模块参数对比表型号WT588DDYSV-17F语音质量高质量音频播放,支持多种格式清晰、可调节语速和语调功能播放WAV/AD4格式音频,语音提示语音播放、语音识别、语音提示存储方式内置存储,支持SPI外部存储支持外部存储设备如SD卡存储语音文件接口类型串口接口,支持SPI接口串口接口操作简便性操作简便,支持多种控制模式简单易用,集成度高通过对上述两款语音播报模块的分析,最终选择了WT588D语音模块,该模块具有更高品质的音频输出,同时支持的接口类型更为丰富。3.5.2语音播报模块电路设计语音播报模块在设计中的作用是用来在检测到疲劳驾驶时通过语音来提醒驾驶员注意计时休息,系统中采用WT588D语音模块来实现设计,在进行设计前,需要先对语音模块的引脚功能进行了解,针对系统所采用的语音模块的语音功能模块的引脚功能表如表3.3所示。表3.3WT588D模块引脚说明表引脚名称功能1GND模块接地端口2R-串口接收端口3T-串口发送端口4VCC逻辑高电平由表3.3可以看出,WT588D语音模块是通过串口来实现和单片机之间的通信,当系统检测到需要语音播报的内容时,可以通过串口发送相应控制信号给语音模块,因此,在连接时需要注意TX和RX的连接方向,设计出的硬件店里原理图如图3.4所示。图3.4WT588D语音检测模块电路图由图3.4可以看出,模块虽然具有多个引脚,但实际上语音模块只需要通过通过RX引脚接收单片机传输过来的数据即可,同时还需要给模块外接扬声器。本系统将语音模块的RX与单片机的PB0引脚相连。语音传感器模块与单片机接口如所示:单片机接口语音传感器模块接口PB0P03VCCVCCGRANDGRAND3.6显示模块设计3.6.1显示模块介绍显示模块在设计中用于提供人机交互界面,使用户能更直观地查看数据信息[23]方案一:OLED显示模块属于一种通用性较强的显示模块,被全面应用于各类智能硬件当中,它凭借着OLED(有机发光二极管)技术,可以做到在较低能耗的情形下给予高对比、高清晰的图片显现效果,此模块的分辨率一般为128×64像素,适宜用来表现文字,图形以及简单动画之类的内容,其接口形式包含I2C和SPI这两种,可以很便捷地同各种类型的主控单片机实施衔接,非常合适用在植入式开发方面,鉴于它具备低能耗的特点,所以在依靠电池来供应电力的场合显得格外实用。OLED屏幕没有背光源,需依靠发光二极管自身来供应亮度,所以它有着不错的表现效果,而且可视角度比较大,这个模块的反应速度很快,可以动态地展示信息,其显示较为清楚,不易被周围光线干扰,此款OLED模块具备高对比,广视角的特性,显示效果很细致,适合用在各种产品的用户界面显示当中,常见于物联网设备,智能家居,智能交通等诸多领域。图2.10OLED实物图方案二:LCD1602显示模块属于常见的字符型液晶显示模块,有着宽泛的应用范围,它一般具备16行2列的显示能力,可以很好地用来显示简单的字符或者数字信息。LCD1602模块利用的是液晶显示技术,这种技术能够显现明晰的文本内容,而且功耗比较低,很适宜用在那些须要长时间运行的植入式系统当中,LCD1602的控制形式大多为并行接口或者I2C接口,使用者可依照具体情况来挑选恰当的接口类型,这个模块的长处就在于价格便宜,性能稳定,所以被全面应用到很多电子项目里。同OLED显示模块比起来,LCD1602的亮度往往偏低,其显示的对比度在强光之下也许会受影响,不过在昏暗环境下仍然较为稳定。图2.11LCD1602实物图表2.5显示模块参数对比表型号OLEDLCD1602显示类型OLEDLCD分辨率128x64像素16×2字符显示内容文字、图形、简单动画文字、数字显示效果高对比度、高清晰度中等对比度、较低清晰度接口类型I2C、SPI并行、I2C可视角度广视角较窄视角通过对上述两款显示模块的分析结合实际的使用情况,最终选择了OLED显示模块,该显示模块具有更小的体积和更丰富的内容显示。3.6.2显示模块电路设计设计中,系统想要更直观的对系统状态进行展示,显示模块是最直接的方式。作为一款疲劳驾驶检测系统,需要监测的要素较多,因此选择了OLED液晶显示屏,在进行电路设计前,同样需要进行模块功能引脚的掌握,OLED液晶演示模块的引脚及功能描述如表3.4所示。表3.4OLED引脚说明表引脚名称功能1GND逻辑接地2VDD逻辑电源3SCK时钟端口4SDA数据端口根据表3.4可以看出,模块化的设计让系统更加节省IO端口,其中模块的引脚1和引脚2作为模块的供电端口,分别和地与电源相连。引脚3和引脚4为模块的数据和时钟端口,模块通过这两个端口实现和单片机之间的相互通信。在熟悉模块的引脚及功能后进行硬件电路原理图的设计,设计出的显示模块的硬件电路原理图如图3.5所示。图3.5显示模块硬件电路图由图3.5可以看出,模块具有4个引脚,模块的1和2引脚分别与系统的地和电源引脚相连,模块的引脚3和引脚4分别与单片机的PB6和PB7引脚相连,STM32单片机的PB6和PB7引脚分别为单片机的IIC通信的引脚,因此可通过IIC来实现对显示模块的控制。显示传感器模块与单片机接口如所示:单片机接口显示传感器模块接口PB6SCL2PB7SDA2VCCVCCGRANDGRAND3.7按键模块设计3.7.1按键模块介绍方案一:机械按键模块属于电子设备里较为常见的输入模块,被全面用在各种控制系统当中,家电产品,工业设备,键盘以及植入式控制系统等等,机械按键依靠物理接触点来工作,当用户按下按键的时候,其内部的金属接触点就会合拢,进而传达电信号,这种类型的按键主要优势在于构造简易,价格便宜而且寿命比较长,机械按键模块凭借一连串的接触点达成电路闭合,一旦按键被按下,电流便会流过电路,引发对应的控制信号。因为按键的触点直接接触,所以机械按键能给予稳定的回馈,保证操作准确无误,机械按键的长处在于结构牢靠,可以应对各类恶劣环境,而且十分耐用,常见的机械按键包含开关按键,旋钮式按键以及瞬时按键等等,还可依照要求供应不一样的功能,凭借简易的设计和较低的成本,它成了许多植入式系统,电子设备以及消费类电子产品中优先选用的输入手段。图2.12机械按键模块实物图方案二:电容触摸按键模块属于高科技输入模块,它凭借电容变化原理来实施触摸感应,当手指靠近模块电极的时候,电容就会产生改变,模块可以察觉到这种改变,并引发对应的操作,不同于传统机械按键,电容触摸按键模块无需物理接触,其使用起来更为灵敏,也更持久,电容触摸按键常常出现在智能手机,平板电脑,智能家电以及各类便携设备上,此模块一般包含电极板,信号检测电路和微控制器这些部分,通过触摸来激发指定功能。因为具有较高的灵敏度,电容触摸按键无需施加很大压力就能正常工作,从而带给使用者更舒服的感受,国内的电容触摸模块被全面应用到智能产品当中,特别在高端智能家居控制面板以及穿戴设备上十分常见,这种没有机械损耗的特点让它即便处于经常操作的环境之下,依旧可以维持很高的可靠度与较长的使用寿命,电容触摸按键的设计还准许更为精致小巧的外观样式,可以符合现代消费电子产品对于产品外形所提出的严格需求。图2.13电容触摸按键模块实物图表2.6按键模块参数对比表型号机械按键模块电容触摸按键模块工作原理物理接触,触点闭合传输信号电容变化原理,触摸感应输入方式物理按键触摸输入按键数量一般为单独按键自定义按键数量灵敏度较低,需要按下才能触发高灵敏度,无需按压即可触发结构复杂性简单结构复杂,依赖电容传感技术成本低成本较高安全性易受磨损影响不易磨损,触摸操作防水防尘能力较差较好按键模块在设计中的作用是用来实现本地的阈值设置,由于系统使用按键较少,考虑到稳定性和成本,最终选择机械按键进行设计。3.7.2按键模块电路设计基于单片机的驾驶员疲劳监测与预警系统中需要通过按键模块来实现本地的阈值设置。针对按键模块的电路如图3.6所示。图3.6矩阵按键模块由图3.6可以看出,系统中使用了4个按键,分别用来实现和PB12~PB15引脚相连。4个按键分别实现设置、加、减以及对车辆的启动或熄火的设置。按键模块与单片机接口如所示:单片机接口一氧化碳传感器模块接口PB12按键1PB13按键2PB14按键3PB15按键4VCCVCCGRANDGRAND3.8继电器模块电路3.8.1继电器模块介绍方案一:KY-019继电器模块属于一种被全面用在低能耗控制系统里的继电器模块,它依靠电子控制原理,其中有一个小型继电器部件,可以通过很小的电流来控制较大电流的电器设备,KY-019继电器模块需要用到5V直流电源,这个模块有着很强的抗干扰能力,而且采取了光隔离措施,如此一来,控制端和负载端就达成了电气隔离,防止高电压大电流影响到控制电路,进而优化了整个系统的安全系数和可靠程度,KY-019继电器模块最为突出的优势就是体积小而且便于使用,它的可靠性很高,稳定性也好,可以符合大部分中小型应用场景的需求,从操作角度来讲,此模块既可以执行一般的电路开关操作,又能够控制较高电流的负载,这就极大地加强了它在各类设备当中实施控制的能力。图2.14KY-019继电器模块实物图方案二:SRD-05VDC-SL-C继电器模块属于另一类应用较广的继电器模块,它通常被用在低电压电路当中去控制大电流设备,同KY-019一样,SRD-05VDC-SL-C也是通过操纵5V的直流信号来转换继电器的开关状况,以此达成对高电流设备的开关控制,此模块内部设有一个由5V电压带动的电磁继电器,可以掌控最高达10A的电流,其具备简便的控制接口,可以利用数字信号来触发继电器的开关运作。图2.15SRD-05VDC-SL-C实物图表2.7继电器模块参数对比表型号KY-019SRD-05VDC-SL-C电压要求5VDC5VDC控制方式低电流控制高电流设备低电流控制高电流设备最大负载电流10A(AC)/10A(DC)10A(AC)/10A(DC)电磁兼容性光隔离设计无光隔离设计驱动电流较低较低继电器在设计中的作用是模拟车辆启动,对于上述两款继电器在参数上本质一样,因此可任意选择一款即可,本设计选择了KY-019继电器,该继电器相对于另一款多了光隔离设计。3.8.2继电器模块电路设计继电器模块在设计中的作用是用来模拟汽车的启动与熄火,因此设计出的硬件电路原理图如图3.7所示。图3.7继电器控制模块电路图系统中将继电器模块与单片机的PB7引脚相连,并且通过S8050来提高单片机引脚的驱动能力。继电器模块与单片机接口如所示单片机接口一氧化碳传感器模块接口PB8JDQVCCVCCGRANDGRAND3.9本章小结这一章把模块化设计当作重点,围绕多传感器融合的硬件架构来写,通过对主控模块,检测模块,交互模块执行选型和电路设计,创建起驾驶员疲劳监测警报系统的硬件根基[24],主控芯片选的是STM32单片机,它有着很强的处理能力和很多种外围设备接口,可以给多传感器的数据即时收集和协同处理给予保证[25],酒精检测模块和心率血氧检测模块分别用的是MQ3传感器和MAX30102芯片,借助模拟信号收集和I2C通讯技术做到对生理参数的精确感知,这表现出硬件设计时对传感器可靠性和合适性的考虑。显示,语音,继电器等模块凭借标准化接口同主控系统相衔接,从而合成具备数据显示,警报回应以及设备控制功能的完备硬件体系,进而为后面的功能达成构筑了物质根基。4系统软件设计4.1系统主函数设计基于单片机的驾驶员疲劳监测及预警系统在系统启动后,首先进入初始化状态,初始化完成后,系统开始通过OLED显示模块实时进行参数的显示,然后系统开始判断是否按下设置按键,当按下设置按键后,此时系统进入设置模式,在设置模式下可以对系统中参数的阈值进行设置。然后系统开始对心率血氧检测并判断心率血氧是否正常,当发现异常时进行语音提醒,然后判断是否酒精超标,当检测到酒精超标时,提醒点火失败并语音提醒,然后开始判断是否疲劳驾驶,当检测到疲劳驾驶时系统启动语音提醒。系统的主函数流程图如图4.1所示。图4.1系统主函数流程图主程序的程序部分设计如下,详细请见附录:voiddisplay_state(void){/*显示状态函数*/}voiddisplay_initial(void){/*显示初始界面函数*/}voidDisplaySetValue(void){/*显示设置值函数*/}voiddisplay_time(void){/*显示运行时间函数*/}voidKeySettings(void){/*按键设置函数*/}voidGet_mq3_data(void){/*获取酒精含量函数*/}intmain(void){delay_init();NVIC_Configuration();//...主程序初始化及主循环...}voidTIM2_IRQHandler(void){/*定时器2中断处理函数*/}4.2传感器模块设计4.2.1酒精检测传感器系统中通过MQ3酒精检测传感器来实现对酒精浓度的检测,该传感器为半导体检测传感器,该传感器是通过检测到的酒精浓度的不同会引起内部电导率的变化,从而让模拟输出引脚的电平发生变化,通过一定的比例从而转换成酒精浓度。针对酒精检测模块的设计流程图如图4.2所示。图4.2气体检测模块设计流程图酒精检测传感器的部分代码如下所示:chardisplay[16];//显示缓存区floatAlcohol=0.0;//酒精浓度boolTwinkleFlag=0;//闪烁标志boolstart_flag=0;//启动标志boolshuaxin=0;//刷新数据标志boolalcohol_warn=0;//酒精超标标志随后开始编写具体的程序,详细程序见附录部分。4.2.2心率血氧检测传感器系统中通过心率血氧模块实现对人体心率血氧的检测,对于该传感器来说,启动后,首先进入初始化状态,初始化完成后,传感器通过检测光信号来判断血氧浓度,同时也能判断出心率数据,根据传感器的工作原理绘制的软件设计流程图如图4.3所示。图4.3心率血氧浓度检测模块流程图紧接着是对血氧心率的数值检测,具体程序如下:#ifndefMAX30102_H_#defineMAX30102_H_#include"stm32f10x.h"voidmax30102_init_fifo(void);voidmax30102_read_data(void);#endif4.3语音播报模块设计语音模块在设计中的作用是用来发生异常时进行语音提醒,让驾驶员可以实时了解自身情况以及是否疲劳驾驶。系统采用的语音模块通过串口和单片机进行通信,当系统需要进行语音播报时,通过串口向语音模块发送指令,针对语音播报模块的设计流程图如图4.4所示。图4.4语音播报模块设计流程图语音模块在整个测试中有着举足轻重的作用,起到直接提醒驾驶员的作用,其部分代码如下,详细请见附录:#ifndef__WT588D_H#define__WT588D_H#include"sys.h"voidWT588D_GPIO_Init(void);u8WT588D_HANDLE(u16num,u8mode);#endif4.4显示模块设计基于单片机的驾驶员疲劳监测与已经系统采用OLED显示屏进行系统状态的显示,系统启动后,首先进入初始化状态,初始化完成后,显示模块来时进行待显示内容位置的选定,当待显示的内容位置选定后,开始通过OLED显示模块进行内容和数据的显示。从而实现用户直观查看。针对显示模块的设计流程图如图4.5所示。图4.5OLED显示屏设计流程图其中显示模块的部分检测程序如下所示:#ifndef__OLED_H#define__OLED_H#include"sys.h"#defineOLED_SCL_Clr()GPIO_ResetBits(GPIOB,GPIO_Pin_6)//...其他宏定义及函数声明...voidOLED_Init(void);#endif4.5按键模块设计系统中通过按键来实现对系统阈值的设置以及模拟汽车点火和熄火的操作。系统中使用的按键为机械按键,机械按键在设计时需要考虑到机械按键的按键消抖问题,可以使用RC电路来实现消抖效果。在软件编程时,也需要考虑到按键消抖,防止按键一次按下多次触发的情况发生。对于软件实现按键消抖是对按键按下时进行检测,如果在20ms内实现多次触发,则表示其他次为误触,则不执行该按键功能,如果在20ms内只触发一次,则执行相应的按键功能。针对按键模块的设计流程图如图4.6所示。图4.6按键模块设计流程图4.6继电器模块设计继电器模块在设计中的作用是当检测到按下启动或熄火按键,继电器导通或断开,针对继电器模块的设计流程图如图4.7所示。图4.7继电器模块设计4.7本章小结这一章依靠嵌入式开发环境,利用分层架构设计来达成系统软件的模块化和功能协同,主函数流程把初始化,数据采集,阈值判断以及预警触发的逻辑融合起来[26],保证多任务处理具有即时性和稳定性,传感器数据处理模块通过算法改良加强信号采集的精准度,并配合动态阈值设置做到对疲劳状态的智能识别[27];人机交互模块凭借OLED显现和语音播报及时告知监测情况,改进系统的易用性,按键和继电器控制模块加入消抖算法和逻辑核对,保障操作回应的正确性,软件设计重视硬件资源调度和功能拓展,给系统以后的升级保存接口,这表现出嵌入式系统开发里软硬件协同的设计理念。

5系统测试5.1软件测试在软件代码完成驱动编写后,即可以通过调试模式进行代码功能和代码产生结果的验证,点击Keil软件中的调式模式按钮即进入该模式,进入该模式的界面图如图5.1所示。图5.1调试模式界面由图5.1可以看出,在该界面可以对当前程序运行时各个变量的结果进行显示,与此同时,在该界面还可以对部分代码进行断行验证,仅验证一小部分代码的功能,这样可以在不下载进入硬件系统的前提下就可以对代码功能进行验证。5.1.1软件的烧录烧录的时候要保证开发板的硬件电路正常,各个模块之间的连接没有问题,STM32单片机的最小系统里,晶振电路,复位电路,下载电路,BOOT电路等都是已经接好的;酒精传感器,心率血氧传感器,语音播报模块,显示模块,按键模块以及继电器模块等也按照设计需求接到了单片机上,而且电源供应也是稳定的,把开发板通过下载线同电脑相连,保证接触良好,然后在Keil软件中点一下下载按钮,就开始烧录程序,烧录期间,软件会把经过编译之后产生的代码下载到STM32单片机的闪存当中,这样就完成了代码的烧录。把开发板通过下载线同电脑相衔接,保证衔接稳固,在Keil软件里点击下载按钮,从而开展烧录程序的工作,在烧录的时候,软件会把经过编译之后形成的代码下载到STM32单片机的闪存当中,达成代码的烧录任务,烧录结束以后,针对系统执行功能检测,查看系统能否正常启动,OLED显现模块是不是可以准确显现心率,血氧,酒精浓度这些信息;按动操作按键,考察阈值设置功能是否正常;模仿不一样的驾驶场景,比如酒驾,疲劳驾驶,心率血氧不正常之类的状况,来验证系统的警报功能是否正常运行。5.2硬件测试5.2.1硬件电路的搭建我们在焊接前,要明确电路原理图,掌握元件在电路板上的位置与连接关系。准备好焊接工具如优质电烙铁、焊锡丝、助焊剂、镊子等。电子元件包括STM32芯片、传感器。还有PCB板,确保焊锡丝熔点、含铅量达标,助焊剂可选松香或液态助焊剂。仔细检查元件,保证完好且规格符合要求,并用酒精清洁元件引脚和电路板焊盘。​焊接时,电烙铁温度设为300-350℃,依实际调整;保持烙铁与电路板呈45°夹角,避免碰到其他元件。按硬件接线图,先焊小元件,如电阻、电容,再焊大芯片如STM32,焊接过程中涂助焊剂,确保引脚与焊盘充分接触,每次焊接时间控制在2-3秒,失败则稍作等待后重焊,烙铁使用后放于烙铁架。​焊接完成后,从外观和电气性能两方面检查。查看焊点是否饱满光滑,有无虚焊、漏焊等,若有问题及时修复;用万用表测试电路通断、电阻等参数,检查是否存在短路或开路,若有问题吸掉多余焊锡重新焊接。焊接得到的硬件实物图如图5.2所示。图5.2硬件系统实物图从图5.2可直观看到,系统全面包含方案设计里的所有模块,各个功能单元安排恰当,衔接有序,在确定好硬件连接没问题之后,马上给系统通上电,从而开始执行功能检测流程,通电之后,系统的各个模块一起运行起来,及时表现出工作状况和数据回应,其细致的检测成果用可视化图表的形式完全表现在图5.3当中,给后面的性能评定给予了关键的参照依照。图5.3通电测试效果图从图5.3显而易见,系统执行通电操作之后,显示模块立即开始工作,及时而准确地显现诸多重要信息,屏幕之上,心率数据用动态曲线加上数字的方式清楚表现出来,血氧含量数值精确到小数点后面一位,酒精浓度检查结果非常显眼,车辆发动情况有着明显的图标和文字标识,汽车启动所耗费的时间以分和秒作为单位不断地计时更新,接着针对系统阈值设置功能展开专门的考察,其考察成果通过图5.4全面表现出来,给评判系统性照。图5.4系统阈值设置效果图由图5.4可以看出,对于阈值设置功能来说,系统按下设置按键后,此时显示界面显示设置阈值的上下限,通过阈值加和阈值减按键可以实现对阈值的设置,由于语音功能无法通过图片进行展示,但是在测试时也对该功能进行了测试。综上所述,本文所设计的系统符合设计要求。具体数据如下所示:测试模块测试数据显示心率检测100正常心率检测180LED闪烁蜂鸣器警报血氧检测100正常血氧检测35LED闪烁蜂鸣器警报酒精检测0正常酒精检测90mg/100mlLED闪烁蜂鸣器警报疲劳驾驶检测点火2小时正常疲劳驾驶检测大于4小时LED闪烁蜂鸣器警报

5.3本章小结此章通过软件调试和硬件实测全方位地检验系统功能,包含传感器数据采集精度,预警机制反应速度以及人机交互感受等重要指标,软件调试利用断点调试和变量监视找出逻辑上的漏洞,保证代码执行可靠无误,硬件实测则通过模拟驾驶情景来验证酒精浓度,心率血氧等参数的测量精确性,还有语音报警,继电器控制等功能是否有效[28],经过测试可以看出,系统各个模块配合协调运作良好,可以符合疲劳监测和警示的设计需求,给后续的工程化应用给予了数据方面的支持,还为类似系统的改良赋予了测试方法学上的参照。

6.结论6.1总结随着中国机动车保有量不断增长,道路交通安全事故越发频繁,由于疲劳驾驶,酒后驾驶引发的交通事故时常出现,这给驾驶人及其它道路使用者的人身和财产安全带来很大威胁,当下单一传感器检测模式存在监测内容单调,反应缓慢,警报手段缺乏等许多问题,难以满足现代智能交通体系对行车安全的严格需求,伴随物联网,植入式系统以及多传感器技术快速发展起来,利用多传感器及时监测驾驶员状态并发出警报渐渐成为智能汽车电子和交通安全领域主要的发展趋向[29],依靠这种情形,本文把多传感器驾驶员疲劳监测警报系统当作课题设计内容,其一,可以加强自身软硬件开发操作能力,其二,能够给驾驶安全辅助系统日后的推广及改善赋予一些技术支撑。在执行系统设计之前,先针对国内外多传感器驾驶监测领域的相关技术现状展开了全面的查阅与分析,弄清楚当下疲劳检测,酒精检测,心率监测,车内状态感知等技术的走向及短缺之处,给方案设计赋予依照,遵照已有的研究成果以及项目需求,决定系统以STM32单片机作主要控制平台,并按照模块化结构来开展系统软硬件设计[30],硬件包含主控模块,MQ3酒精检测模块,MAX30102心率血氧检测模块,WT588D语音广播模块,OLED显示模块,按键控制模块和继电器启动仿真模块,依照设备的特性和功能要求,完成各个模块的电路原理图和PCB图绘制,保障系统稳定而且数据采集可靠。软件方面,依靠Keil开发环境来编写主控程序,凭借中断响应机制,定时器控制以及数据采集,可以做到及时读取许多传感器的数据,执行阈值判断并触发事件,而且还具备OLED显示功能,能随时把驾驶员的心率,血氧,酒精浓度以及车辆状态等信息告知使用者,通过WT588D语音广播模块发出警报,用户能够自行设定各参数的阈值,借助按键去控制模拟发动机的启动和停止,从而提升了系统的交互性与实用性。经过对硬件系统进行全面的测试,酒精检测是否准确,心率和血氧的监测是否快速反应,数据能否实时显示,语音播报是否成功等方面。测试后得出结论,系统功能正常,各个模块之间配合默契,能及时准确的检测并提醒驾驶员出现的异常情况,实现了设计目标。6.2展望和未来优化方向日后,系统会在当前的基础上进一步扩充驾驶员眼动追踪,姿态检测,情绪识别这些功能模块[31],依靠4G/5G无线通讯以及云数据经营平台,达成远程监测和驾驶大数据剖析应用,从而给改善交通安全水平,营造智能驾驶生态体系赋予更为完备的技术支持。未来可以引入摄像头与红外传感器,结合计算机视觉算法,根据眼睛的睁开和闭上的幅度去判断驾驶员的疲劳情况,还可以尝试去通过更多的方式给予驾驶员提醒和警告。如声音强度,根据检测结果和现代技术去推算预计驾驶员将在什么时候会进入疲劳状态,并进行相应的提醒和告知。当然,本次实验也有很多需要改善的地方,如检测的数据过少,人的疲劳是多元化的,可能会有各种各样的因素让人们忽略,如心情因素或者今天遇到的事情也会影响。其次复杂路段对驾驶员的影响,也没有被仔细考虑进去,可能会大大降低数据的可靠性。如刚吃完饭之后,驾驶员的血氧心率一定会客观的下降,稍作休息后便可以恢复到正常,所以多维多角度多方面的去考虑是必要的。语音播报和显示模块不够大成,比较分散,无法更好的协同完善。本方案与现代科技做不到紧密结合,不能灵活运用现代技术为人们造福,略显落后。若后期有机会更改,希望能利用好车路协同以及智能驾驶等热门话题和技术,为驾驶员们提供更加便利的服务。

参考文献张新敏,曹红玉,郑成龙,等.基于驾驶人疲劳特征的疲劳驾驶监测系统研究[J].汽车维护与修理,2024,(02):73-75.DOI:10.16613/ki.1006-6489.2024.02.015.陈宏涛,杨军,吕彦霖.基于计算机视觉的智能安全驾驶监测系统设计[J].电脑编程技巧与维护,2023,(10):128-131.ChenH,LuoZ,FengY,etal.Fatiguedrivinganddistractiondetectionsystembasedonmachinevision[J].AdvancesinComputer,SignalsandSystems,2022,6(3):周思丹.结合智能手表的疲劳驾驶监测系统[J].现代信息科技,2022,6(11):166-168+171.刘路标.智能汽车驾驶员疲劳监测系统仿真研究[D].天津科技大学,2022.HamzaG,SadekEZM,TaherY.EnhancingRoadSafety:AMulti-ModalDrowsinessDetectionSystemforDrivers[J].InternationalJournalofAdvancedComputerScienceandApplications(IJACSA),2025,16(1):AraballiA,ShindeS.RealTimeImplementationofDriverDrowsinessMonitoringSystemUsingSVMClassifier[J].InternationalJournalofEngineeringandManufacturing(IJEM),2023,13(3):48-54.AliAS,RehmanUHS,AmjadMR,etal.Asystematicreviewofphysiologicalsignalsbaseddriverdrowsinessdetectionsystems[J].CognitiveNeurodynamics,2022,17(5):1229-1259.YongkaiL,ShuaiZ,GanchengZ,etal.ACNN-BasedWearableSystemforDriverDrowsinessDetection.[J].Sensors(Basel,Switzerland),2023,23(7):邵喆丹,汪丽青,李静文.基于GPS的疲劳驾驶预警系统[J].信息通信,2015,(06):79-80.陈怡帆,肖波,韩涛,等.基于AI图像处理的疲劳驾驶监测系统设计[J].现代计算机,2024,30(22):179-184.张自强.防疲劳检测系统基于全自动驾驶地铁线路的应用[J].铁道机车与动车,2024,(11):29-33+62.徐光光,张晶晶,刘姗姗,等.基于面部多特征融合的驾驶员疲劳驾驶监测系统[J].时代汽车,2024,(22):186-188.胡家豪.基于机器学习的疲劳驾驶实时监测系统[D].湖北大学,2024.张凡,古明放,王培丞.基于身体动作的分心驾驶预警方法研究[J].汽车实用技术,2018,(21):199-202.DOI:10.16638/ki.1671-7988.2018.21.067.陈星宇,章立亮.疲劳驾驶监测系统的设计与实现[J].福建电脑,2022,38(08):68-71.孙志刚,王国涛,蒋爱平,等.基于信息融合技术的行车安全监测系统[J].计算机科学,2020,47(S2):642-650+661.阮耀江.单片机汽车防疲劳驾驶系统研究[J].运输经理世界,2019,(03):96.张博轩.基于STC12C5A60S2单片机的汽车防疲劳驾驶系统研究[J].中国高新技术企业,2016,(11):26-27.DOI:10.13535/ki.11-4406/n.2016.11.013.王小明,朱正清,熊国良.防酒驾和防疲劳系统的设计与研究[J].制造业自动化,2018,40(07):90-93.刘旭娟,徐俊喆.基于脉搏波检测的驾驶员睡意预警装置[J].计算机测量与控制,2018,26(05):249-251+256.DOI:10.16526/ki.11-4762/tp.2018.05.062.金谷香,张宏伟.基于防疲劳驾驶下的智能语音播报系统[J].电子世界,2018,(06):157-158.DOI:10.19353/ki.dzsj.2018.06.088.薛兴乐,高启超,张震,等.基于人机互动的疲劳驾驶监测预警系统设计[J].林业机械与木工设备,2020,48(03):32-35.张应新,王志坤,范洪瑞,等.一种基于单片机的安全驾车靠垫装置[J].河北农机,2017,(07):57.DOI:10.15989/ki.hbnjzzs.2017.07.034.王景利.汽车驾驶员防疲劳驾驶报警系统的设计[J].汽车实用技术,2016,(11):87-89.DOI:10.16638/ki.1671-7988.2016.11.032.袁霞,侯锁军,吴启斌.基于转向盘特征值的汽车疲劳驾驶系统的应用研究[J].河南机电高等专科学校学报,2019,27(05):1-4.华楚霞,陈孚,乔晓华,等.基于脑波的疲劳驾驶预警装置设计[J].电子世界,2017,(07):116+118.DOI:10.19353/ki.dzsj.2017.07.087.汪润朝,卢社阶,蒲小金.夜间车辆远近光灯的控制研究[J].福建电脑,2019,35(06):106-108.DOI:10.16707/ki.fjpc.2019.06.038.高龙琛,邢猛,丁月,等.嵌入式疲劳驾驶远程监测系统[J].电子器件,2022,45(01):229-234.龚荣生.基于单片机的汽车防疲劳驾驶系统的研究[J].汽车与驾驶维修(维修版),2017,(10):127.徐靖宇.基于人脸状态特征的疲劳驾驶监测系统研究[D].广东财经大学,2022.

附录本设计部分代码#include"sys.h"#include"delay.h"#include"gpio.h"#include"oled.h"#include"MQ3.h"#include"adc.h"#include"timer.h"#include"usart1.h"#include"max30102.h"#include"wt588d.h"#include<stdio.h>#include<stdlib.h>#include<string.h>#include<stdbool.h>#definePLAY_HEART_RATE0//播报心率异常标志#definePLAY_BLOOD_OXYGEN1//播报血氧异常标志#definePLAY_DRUNK_DRIVING2//播报酒驾异常标志#definePLAY_ALCOHOL3//播报酒精超标标志#definePLAY_FATIGUE_DRIVING20//播报疲劳驾驶标志#definePLAY_START_REMIND21//播报启动点火标志chardisplay[16];//显示缓存区floatAlcohol=0.0;//酒精浓度boolTwinkleFlag=0;//闪烁标志boolstart_flag=0;//启动标志boolshuaxin=0;//刷新数据标志boolalcohol_warn=0;//酒精超标标志boolinit_flag=1;//初始化标志u8setn=0;//记录设置按键按下的次数u8bobao=0;//语音播报标志u8dis_time=0;u16bpmMin=60,bpmMax=120;//心率下限上限u16spo2Min=85;//血氧下限u16AlcoholMax=80;//酒精上限u8alarmFlag=0x00;//报警标志longtime=0;//计时时间uns

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论