c51实现老人跌倒,心率异常报警系统

该设计采用STC12C5A60S2单片机,结合ADXL345角度传感器、SIM800C短信模块和GPS定位,实现心率监测、跌倒检测和紧急报警功能。当心率超过预设阈值或检测到跌倒事件时,系统不仅在OLED屏幕上显示警告,还会发送包含位置信息的报警短信。用户可通过按键控制报警状态,按键2取消摔倒报警,按键3发送当前位置求助短信。系统能自动保存发送短信的手机号,简化操作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本设计硬件部分:由OLED液晶显示屏,ADXL345角度传感器,SIM800C短信模块,GPS定位模块。以及心形脉搏测量,以及蜂鸣器报警电路再加上按键电路组成。

设计可实现:

  1. 心率的测量,按键1,即可开始心率的测量,测量结束,数据会显示到OLED液晶上,若心率超过阈值,同时还会发送报警短信用以提醒。
  2. 可检测是否摔倒,如若摔倒,则液晶可显示摔倒提示。并产生报警提醒,同时会通过GSM模块获取经纬度信息,发送含有经纬度的报警短信到绑定的手机。如果摔倒后直立,则会发送直立提示短信。
  3. 同时还可以进行手动的取消摔倒报警,按下按键2,则可以取消本次的摔倒报警。
  4. 按下按键3,则可以发送含有当前具体经纬度的求助短信。

OLED液晶,可以显示出当前状态,心率数据,以及具体的经纬度数据。

发送短信的手机号,只需第一次使用时发送连接短信,单片机会自动将手机号进行保存。后期不需要再次进行发送。

器件选型:

mcu单片机: STC12C5A60S2
GSM/GPRS:  SIM800C
加速度模块: ADXL345
心率: PulseSensor 

主程序代码:

#include <STC12C5A60S2.H>
#include "eeprom12.H"
#include "ADXL345.h"
#include "OLED.H"

#include "usercode.H"
#include "SIM800.H"
#include "key.H"


//=====================================================================================================================  保存经纬度
void Memory_data()
{
		IapEraseSector(0x0400);
		IapProgramByte(0x0401,jing_du/100000000%10);
		IapProgramByte(0x0402,jing_du/10000000%10);
		IapProgramByte(0x0403,jing_du/1000000%10);
		IapProgramByte(0x0404,jing_du/100000%10);
		IapProgramByte(0x0405,jing_du/10000%10);
		IapProgramByte(0x0406,jing_du/1000%10);
		IapProgramByte(0x0407,jing_du/100%10);
		IapProgramByte(0x0408,jing_du/10%10);
		IapProgramByte(0x0409,jing_du/1%10);

		IapProgramByte(0x0412,wei_du/10000000%10);
		IapProgramByte(0x0413,wei_du/1000000%10);
		IapProgramByte(0x0414,wei_du/100000%10);
		IapProgramByte(0x0415,wei_du/10000%10);
		IapProgramByte(0x0416,wei_du/1000%10);
		IapProgramByte(0x0417,wei_du/100%10);
		IapProgramByte(0x0418,wei_du/10%10);
		IapProgramByte(0x0419,wei_du/1%10);


		IapProgramByte(0x040A,SIM800_Heat);
}
void Read_data()
{
		jing_du = IapReadByte(0x0401)*100000000 + IapReadByte(0x0402)*10000000 + IapReadByte(0x0403)*1000000 + IapReadByte(0x0404)*100000 +
				  IapReadByte(0x0405)*10000 + IapReadByte(0x0406)*1000 + IapReadByte(0x0407)*100 + IapReadByte(0x0408)*10 +
				  IapReadByte(0x0409) ;

		wei_du = IapReadByte(0x0412)*10000000 + IapReadByte(0x0413)*1000000 + IapReadByte(0x0414)*100000 + IapReadByte(0x0415)*10000 + 
				  IapReadByte(0x0416)*1000 + IapReadByte(0x0417)*100 + IapReadByte(0x0418)*10 + IapReadByte(0x0419) ;

		SIM800_Heat=IapReadByte(0x040A);
}
//===============
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木泽八

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值