APP下载

老人防摔GPS 定位报警系统的设计

2020-11-30韩金威

科学技术创新 2020年34期
关键词:端口指令报警

韩金威

(南阳医学高等专科学校,河南 南阳473000)

随着社会人口比例变化,大多数家庭都出现了老人多,年轻人少的情况,老人照顾不到位,老人安全问题成为每个家庭的安全隐患。老年人摔倒现象时有发生,摔倒本身不会出现多大问题,但摔倒后处理不当会造成严重后果。因此实时了解老年人独自上街的行为状态十分重要。本文针对相关问题开展研究,设计出对应跌倒报警器,以51 单片机为设计系统核心,包括可以检测出跌倒信号的传感器ADXL345 进行跌倒识别,GPS 模块VK2828U7G5LF 部分实时检查老人位置信息,GSM 模块的SIM900 能给监护人发去老人摔倒位置信息,使摔倒老人及时得到救助治疗,降低摔倒后的不利后果。

1 线路设计

1.1 GSM模块

SIM900A 是通过串口发送AT 指令来完成控制的,所以我们需要一块多串口的51 单片机STC12C5A,检查好电源和接地后,SIM900A 的TXD 和RXD 分别连接到STC12C5A 的P3.0 和P3.1 即可。当ADXL345 检查到老人摔倒数据后,通过单片机指令实现老人摔倒后位置信息的发送。

1.2 GPS 模块

VK2828U7G5LF 通过串口通信与单片机进行数据传输,当芯片的PPS 指示灯1 秒一闪烁绿灯时,它就开始实时定位了,它给单片机传输获得的定位数据,里面有、时间、位置信息等,只要产品开机并且该模块有信号就实时检查老人位置信息。通过STC12C5A60S2 对数据处理,让GSM模块把信息发送到指定手机号上。例如多个监护人电话号码、医院急救车电话等。

1.3 ADXL345 模块

ADXL345 是一款三轴、数字化的加速度传感器,它能测X、Y、Z 三个方向轴上的对应的速度信号。该模块能够对各种条件下的加速度进行检测。第一步主要通过其自带的感应器检测出加速度信号,然后进行信号转换,转换为可识别的模拟信号,从模拟信号和数字信号的定义可知,模拟量和数字量有着本质的差异。模拟信号具有幅度和时间上连续的特点;而数字量在表达幅度大小的数字域和时间域上均是离散的。当检查到老人摔倒时,通过单片机里的程序指令,让GSM模块发出求救信息,并使蜂鸣器报警。

1.4 单片机STC12C5A60S2 的功能及最小系统的电路设计

STC12C5A60S2 的主要功能有许多,作为核心控制模块可很好通过I/O 口对传感器,ADC0832 模数转换器,LCD1602 液晶显示器进行控制。该单片机是51 单片机分支,可兼容51 单片机旗下所有单片机。当前流通单片机大多数为CPLD 和C51,这两种单片机所针对系统不同。CPLD 针对功能复杂多样的系统,所需控制模块较多的系统,性价低。C51 单片机所针对的系统功能较简单,所需控制模块较少系统,性价比较高,使用性较强。

该单片机部分引脚功能特点为:PO 端口是I/O 端口的一种。I/O 端口是一个双工接口,有in 口和out 口。PO 端口需要在外部添加一个上拉电阻以改善阻抗。更特殊的P1 端口是P1.0和P1.1。这两个定时器可用作微控制器中的定时器。编程时,这个接口接收低8 位的地址字符,内部有一个上拉电阻和一个双向输入接口,用于系统编程。P2 端口和P1 端口之间存在明显差异,当作为输出口时,在连接外部系统是默认作为低电平,此外内部含有一个电阻,此电阻能带动四个低电平,在访问外载寄存器时,输出高8 位。

P3 口和其他接口还不一样。该接口内部也有电阻,但其在用C 语言编程时,一些不被其他接口检测到的控制信号它也能接受。P3 口同时具有8 位双向I/O 接口。一些Flash 闪存也可被P3 口接收,并接受一些控制信号。

RST 端口为重置输入。当振荡器运行工作时,按下复位按钮能复位RST 引脚。

ALE/PROG 端口可作为地址锁存器或编程脉冲。当ALE/PROG 端口作为编程脉冲,工作时要对Flash 编程。当ALE/PROG 端口用作地址锁存器时,问外部程序存储器或正确访问存储器时,仍然是固定脉冲信号,是时钟振荡周期的6 倍。

PSEN 是否允许控制程序的存储是其功能,每个运行周期允许两次的时候有效。EA/VPP 是允许外部访问的开关。如果CPU要想连接外部存储器,就保持EA 低电平。

2 系统分析与调试

本系统设计主要用Keil 软件进行C 语言编写进而控制单片机进行工作,然后进行程序调试,看是否有异常或错误。要把程序烧录进去,当编写程序时,由于系统本身原因,会出现很多问题。在软件调试过程中有些过程可能太短或延迟太长,如按钮的消抖动过程中时间较短,会导致连续值等,并将在此过程中不断修改。在编写完程序后检查该程序编写是否存在错误,以便为后续硬件调试减少麻烦。该软件可生成一个HEX 文件,允许刻录到微控制器,该软件编译、操作都方便简单。

当程序编译成功后,再将程序烧录进去开发板内,进行与硬件电路板对应各种元器件相结合共同工作。最后,当程序烧录结束后,开始进行对各部分元器件工作性能检测,并使用万用表对线路中各部分元器件间连接进行检测,看是否发生某元器件短路。如果没有则开始对硬件部分的主控制板进行检测,观察当对应按键接通时,数码管对应的显示情况。并检验传感器能否根据给出的触发信号,发出相应指令给系统。

最后阶段遇到的问题与相应处理方法:

使用万用表检测线路各部分的连接时发现有一个电阻发生短路,经过观察发现,是在进行焊接时,焊锡使用的太多导致的,最后又使用电烙铁进行加热,并重新进行焊接,之后再用万用表进行检测时发现电路各处连接正常。

在各部分装置都安装焊接完毕后,进行实际运行操作时发现,当供给电源后,小喇叭一直不停发出杂音,经过认真检查,发现对应的三极管的引脚连接出错,经过修改后,其可以正常工作。

报警器在收到人体给出的正确指令时,报警器没有反应,这个问题困扰了我很久,然后经过检查硬件电路各元器件间对应外部连线时发现,发现线路连接都是正确,最后经过对程序重新整理时发现,报警器对应程序编写少编写了声音检测部分。最后通过对该程序添加后,确保各部分都准确无误后,再重新给传感器以正确指令信号,这时报警器发出警报,整个装置都可以成功运行。

3 实物演示

3.1 接通电源后各个芯片亮灯

GSM模块的SIM900A 开始寻找信号一秒一闪,搜索信号完成变为两秒一闪。GPS 模块VK2828U7G5LF 背面绿灯闪烁,表明GPS 信号定位完成。ADXL345 模块灯常亮,表明工作正常。

3.2 模拟老人摔倒

首先设置接受号码,通过手机短信指令设置,手机编辑短信PHONE SMS:A(A 为接收报警预留号码)发送给插在GSM模块上卡的电话号码。接受完成后会反馈“SET END”表示设置成功。

用板子倾倒来模拟老人摔倒后的状态,当板子倾倒时ADXL345 检测到信号,通过单片机代码指令,继电器此时熄合,红色指示灯常亮(图1)。当倾倒15 秒以后仍未树立起来后,蜂鸣器开始报警,并且GSM模块发送报警短信到监护人手机上(图2)。

图1 模拟老人摔倒

图2 手机收到报警短信

3.3 模拟老人自行站起

当老人站起来时,报警蜂鸣器报警取消,继电器红灯熄灭,如图3 所示GSM模块发送“老人已站起来了,请打电话确认情况”短信到监护人手机上如图4 所示。

图3 模拟老人站起

图4 手机收到站起短信

猜你喜欢

端口指令报警
一种有源二端口网络参数计算方法
一种端口故障的解决方案
基于 Verilog HDL 的多周期 CPU 设计与实现
《单一形状固定循环指令G90车外圆仿真》教案设计
多按键情况下,单片机端口不足的解决方法
现有网络架构及迁移方案
2015款奔驰E180车安全气囊报警
2014款奥迪Q5车发动机OBD灯报警
死于密室的租住者
中断与跳转操作对指令串的影响