APP下载

基于心率检测的儿童溺水呼救报警系统设计

2022-03-05孙海涛江远航梅新潮曾佳峰王喜鸿

电脑与电信 2022年10期
关键词:按键报警单片机

孙海涛 江远航 梅新潮 曾佳峰 王喜鸿

(三亚学院,海南 三亚 572000)

1 引言

夏季天气酷热,游泳运动十分受儿童欢迎,在锻炼身体的同时,也能够消暑降温。但每年都有大量儿童溺水死亡新闻被媒体报道,引发了社会的广泛关注。据统计,溺水是五岁以下儿童伤害致死的重要原因之一[1]。我国是儿童溺水死亡事故高发国家之一,儿童溺水死亡问题不可被忽视。夏季频繁发儿童溺水事件,主要原因是大部分儿童没有充分认识到意外伤害的危险性,加之身心发育不完全,在面对溺水危险时,几乎是没有任何自我保护意识和能力。并且多数儿童溺水很难被其他人所发现,并及时采取措施。当儿童在玩水意外沉入水下时,自身呼吸不畅,心理紧张,动作一旦慌乱身体便立刻失去平衡。并且,岸上救生员仅凭肉眼又无法快速察觉到危险的发生,最终导致溺水悲剧发生。溺水不仅致死率高,后遗症、伤残率也较高,这无疑会对一个家庭和整个社会带来永久的创伤。所以,设计一款简单实用的儿童溺水呼救报警系统装置具有一定的现实意义。该装置可佩戴在儿童手腕处,当检测到儿童心率波动异常或者在水中持续时间超过一定值的时候发出声光报警信号,及时提醒岸边家长以及救生人员的注意,实现对水中溺水儿童进行迅速救援的目的,从而降低儿童溺水死亡事故的发生。

预防泳池溺水报警系统的设计最早是由科蒂纳于1976年在美国申报的专利《游泳池报警》,接着是新加坡南洋科技大学“DEWS”小组于2003年研制的溺水预警系统[2]。此后2015年瑞士研发出了BLUEFOX泳池安全系统,而且已经在部分泳池中配备使用[3]。这些泳池溺水报警系统已经在真实场景里预防了不少溺水死亡事故的发生,可以说国外在防溺水方面的理论研究已经得到了较好的应用,每个时期发明的防溺水系统都会被投入到泳池设施中,并且随着新技术的不断突破,会对原有的装置进行更新完善。

2 系统方案设计

河北医科大学第一医院在抢救一名溺水儿童时发现,该儿童送至医院时心率在200次/分钟左右,生命体征处于危险状态。而据相关研究表明,儿童在运动时处于安全状态的最佳心率数值应保持在150次/分钟左右。通过对比能够发现,儿童在溺水状态下的心率数值和健康运动时的心率数值相差非常大,由此本文设计了一款基于心率的儿童溺水呼救报警系统。游泳儿童佩戴实时监测儿童心率的装置,一旦装置检测到有异常的心率数值出现,系统的报警模块立即发出警报信号,模拟儿童的呼救来引起岸边看护人员的注意。

系统结构框图如图1所示,系统由单片机模块、心率监测模块、显示模块、按键模块、报警呼救模块和电源模块组成。其中,电源模块为整个系统供电,心率监测模块采用光电传感器用来采集儿童的心率信号[4]。单片机模块是整个系统的核心处理器,将光电传感器获取的儿童心率信号处理后以数值的形式显示在液晶屏幕上。当采集到的儿童实时心率数值不在设定的正常心率数值范围内,此时将通过报警模块向外界发出呼救信号。按键模块可以根据儿童不同的生理、身体状况对其溺水报警的心率上下限数值进行设置。

图1 系统结构框图

3 硬件系统设计

硬件系统由单片机模块、心率监测模块、显示模块、按键模块、报警呼救模块和电源模块组成。各模块间功能确定,相互协作。硬件电路设计如图2所示,采用立创EDA进行原理图绘制,采用Proteus仿真软件进行仿真验证,仿真验证成功后再进行硬件电路的制作与调试。

3.1 单片机最小系统

单片机最小系统是整个电路的核心,起到检测心率信号并根据预先设定的心率数值判断是否有溺水危险的作用,一旦系统判断儿童有溺水危险就立刻启动声光报警。图2中(左上角)展示了单片机最小系统的电路组成,由89C52单片机、复位电路和时钟电路组成。其中复位电路由一个10k电阻、一个10μF电容和按键KEY1组成,通过按下KEY1按键给89C52单片机RST引脚输送高电平,从而使系统恢复到初始状态。时钟电路采用12MHz的石英晶振为系统提供基本的时钟信号,石英晶振的两个引脚各串联一个30pF电容来提高时钟电路振荡的稳定性。由于89C52单片机P0口的八位都是漏极开路输出,因此在电路中需要连接10k上拉电阻(排阻)来确保高电平的正常输出。

3.2 心率监测模块

心率监测模块是系统的传感器部分,主要作用是实时采集儿童游泳时的心率数据,将该数据进行处理,以满足89C52单片机对数据的要求。该模块由心率采集电路、滤波电路和整形电路组成,如图2(下部)所示。

图2 硬件电路设计

3.2.1 心率采集电路

该电路通过ST188光电式传感器加外围电路,实时将传感器采集的儿童心率信号转换为电信号[5]。ST188光电式传感器心率信号采集的原理为:传感器发出的光线可以穿透人的身体表皮组织,并且容易被人身体内的血液所吸收,当心跳变化导致血管内血液的流速变化时能够被传感器所捕捉,并把这种变化转换为心率的数值。在心率采集电路图中,光敏二极管的1脚需要接合适阻值的限流电阻,以确保传感器能正常工作。如果阻值过大,会因发光二极管的亮度不足而使传感器的灵敏度降低,如果阻值过小,会因为电流过大而使发光二极管和光敏二极管烧坏,由于光敏二极管采集到的儿童心率信号非常微弱,甚至采集不到,经过测试最终确定电路中采用220Ω电阻。在心率采集模块工作时,儿童只需要将手指贴放在ST188光电式传感器上,由于儿童指端血液的流动在不断地变化,那么光敏二极管采集到的光信号也会随时发生变化,光敏管接收到光信号后,通过光敏三极管将采集的光信号转化为电信号从3脚和4脚输出,实时向电路发送儿童的心率信号。

3.2.2 滤波、整形电路

ST188光电式传感器在进行信号转换的时候存在信号强度弱、容易受到干扰而导致数据不准等问题。对此,在硬件电路上采用滤波电路和整形电路对传感器输出的信号进行处理。滤波电路的主要作用是去除干扰信号,整形电路可以使信号被放大,达到单片机对数据的幅值要求。

滤波器电路采用可靠性较高的LC带通滤波器,主要作用是保证与儿童心率频段相似的数据信号稳定输入到整形放大电路中,滤除不需要的高频和低频信号。滤波电路是由电容C6、电阻R6组成的高通滤波器电路和两个上限频率相同的低通滤波器电路串联组成。

儿童心率信号在经过滤波后,通过双运算放大器LM358组成整形放大电路,对可能存在的不规则的脉冲信号进行整形处理,同时对信号电压进行放大,通过7号引脚输出给单片机进行比较处理。LM358放大器的内部由两个电压比较器组成,如果输入电压1IN比2IN大时,正输入端的电压会高一些,最终输出高电平。同理,当输入电压2IN比1IN大时,负输入端的电压会高一些,最终输出高电平,这样就得到了波形幅值稳定的方波信号。同时,当儿童心率信号进入整形电路中时,还能通过LM358的放大功能来增强信号强度。

3.3 显示模块

显示模块的主要作用是显示儿童的实时心率数值,并且在设定心率上下限数值的时候可以观察到修改前后的数据,本设计选用LCD1602液晶显示屏,电路如图2(右上)所示。其中3脚外接的两个电阻R4、R5用来改变液晶显示屏的亮度。RS引脚是数据/命令选择端,该引脚为高电平时,接收需要在液晶屏幕上显示的数据,引脚是低电平时,接收命令实现需求功能[6]。RW引脚是读写选择端,本设计主要使用写功能,当该引脚为低电平时,可将儿童心率数据写入到液晶屏幕元器件中。

3.4 按键模块

按键模块由三个独立按键组成,电路如图2(中左)所示。KEY2按键,用于设置心率上下限范围,同时在液晶屏幕上会显示设置的上下限心率报警数值。KEY3按键或KEY4按键是加减键,进行心率报警数值的增加或减少设置。按键与单片机P1口部分引脚连接后,重启系统时单片机的P1口默认高电平,当有按键按下时,单片机P1口对应的某个引脚变为低电平,从而系统能够判断出是哪一个按键按下,最终实现按下三个按键实现对应不同的功能。

3.5 报警呼救模块

报警呼救模块电路如图2(中右)所示,主要作用是当儿童心率超过设定上限时发出报警信号,提示救生员和家长的注意。三极管的发射极E通过蜂鸣器连接电源,为高电平状态。儿童游泳时的实时心率正常时,单片机的P2.4口输出高电平,三极管的基极B通过2.2k电阻与P2.4连接也处于高电平状态,此时三极管没有导通,蜂鸣器不工作[7]。当儿童的实时心率超过心率报警上限值或者低于心率报警下限值时,单片机的P2.4口输出低电平,三极管的基极B也被拉低为低电平,此时三极管导通,蜂鸣器持续报警代替儿童呼救,引起家长和救生员的注意力。

4 软件系统设计

4.1 主程序设计

系统主程序流程如图3所示,当电源模块给整个系统上电后,组成系统的各个模块需要进行初始化处理。随后,心率采集模块通过开启单片机的定时器来采集儿童心率实时信号,心率信号经过滤波电路和整形电路转换成电信号后,在LCD1602液晶显示屏幕上显示出来。当单片机收到儿童的心率数值在设定的正常心率数值范围内时,系统持续循环检测。否则,单片机就会发出报警信号,触发蜂鸣器发出报警信号。

图3 系统主程序流程图

主程序如下:

4.2 仿真测试

为了验证基于心率检测的儿童溺水呼救报警系统方案设计和功能需求的可行性,在系统实物制作之前,使用Proteus和Keil软件对系统进行仿真。Proteus软件用来绘制系统电路原理图,如图4所示,Keil软件用来编译C语言代码,如果编译没有错误会有hex文件,接着将生成的hex文件烧录到Proteus原理图中的单片机内,最后分析仿真结果,验证系统需求的功能能否实现。图中R2(1)为模拟儿童心率数据波形输入端,采用方波发生器替代。当前系统设定报警下限心率为60次/分钟,当输入心率为48次/分钟时系统发出报警信号,指示灯D1发光,蜂鸣器报警。通过仿真测试,验证系统功能正常。

图4 Proteus电路仿真

5 硬件电路调试

儿童溺水报警系统通过监测儿童的实时心率来实现,系统实物如图5所示。当手指放在ST188光电式传感器上时,系统开始采集心率信号,LED灯亮表示系统正常运行,LCD1602液晶屏幕会显示实时心率数值。如图5所示,心率上限设为80次/分钟,当实时采集到的心率为86次/分钟时,超过设定上限,指示灯亮起,蜂鸣器报警。在相关文献研究中提到150次/分钟的心率是儿童保持健康运动的黄金心率,为了预防以及保护儿童游泳的健康性,在儿童游泳使用该系统时,心率报警上限数值应当设置在每分钟155次左右。

图5 心率过高测试

6 结语

基于心率检测的儿童溺水呼救报警系统从检测儿童溺水时的生理特征出发,通过监测心率在溺水前后的变化来判断儿童所处的状态,实现了溺水检测的作用。系统设计完成后,采用Proteus软件仿真进行系统功能验证,辅助系统调试。经测试,实现了溺水后心率变化的检测,达到了及时发现儿童溺水现象、尽早发出声光报警的作用,为儿童戏水安全提供了有效保障。

猜你喜欢

按键报警单片机
基于有限状态机的按键检测程序设计
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
按键消抖在单片机和FPGA实验教学中的应用
LKD2-HS型列控中心驱采不一致报警处理
一种多方向导光按键结构设计
2015款奔驰E180车安全气囊报警
死于密室的租住者