功能:
0.本项目采用STM32F103C8T6作为单片机系统的控制MCU
1.本项目采用倾角传感器adxl345模块,实时检测老人的状态角度。
2.采用GSM模块实现短信的发送,只要老人跌倒了(且没有按下解除误报警操作按钮),设备将会向设定的手机号码发送求救短信。
3.板子正常情况下是竖直装在口袋里的(adxl345模块在下角竖直立着),一旦倾角传感器检测到老人摔倒,蜂鸣器将会鸣叫报警,且摔倒的时间超过约15秒短信上报(延迟15秒是为了确定老人已经跌倒且15秒钟都没有自行爬起来,设备认为老人跌倒伤的过重,需要报警提醒周围的人帮忙)。如果老人没有跌倒,而是弯腰等等,这属于误报警,则老人可以自己用按键取消键取消警报。
4.采用DC002作为电源接口可直接输入5V给整个系统供电
注意:该GSM模块的瞬时功耗大,因此大家在供电的时候需要具备电源2A的供电能力

原理图:

PCB :

主程序:

#include "led.h"
#include "delay.h"
#include "sys.h"
#include "timer.h"
#include "key.h"
#include "usart.h"
#include <string.h>
#include <math.h>
#include "adxl345.h"
#include "gsm_at.h"
#include "data_unit.h"
#include "internal_flash.h"unsigned char i;unsigned char ReadAdxl345;     // 定时读取adxl345数据
unsigned char ErrorNum = 0;    // 记录错误次数
unsigned char CheckNum = 0;    // 检测次数
unsigned long reportLater = 0; // 上报延时
unsigned long keyLater = 3;    // 按键延时计数
unsigned char err_num = 0;char Crtl_Z[1] = {0x1a}; // 短信发出标志int main(void)
{delay_init();         // 延时函数初始化NVIC_Configuration(); // 设置NVIC中断分组2:2位抢占优先级,2位响应优先级LED_Init();           // 初始化与LED连接的硬件接KEY_Init();UART_Init(115200);TIM3_Int_Init(499, 7199); // 10Khz的计数频率,计数到500为50msInit_ADXL345();                        // 初始化 adxl345if (Single_Read_ADXL345(0X00) == 0xe5) // 读取寄存器值 看是否初始化成功{delay_ms(5);}else{delay_ms(3);}delay_ms(1000); // 延时delay_ms(1000); // 延时delay_ms(1000); // 延时err_num = GSM_Init(); // GSM初始化delay_ms(10);if (gsm_init_flag) // 初始化完成{err_num = GSM_Text_Mode(); // GSM 设置Text模式}delay_ms(10);if (gsm_config_flag){err_num = GSM_Delete_All_Sms(); // 删除所有短信}if (!(gsm_init_flag || gsm_config_flag || gsm_delete_flag)) // AT命令报错,蜂鸣器响5声{unsigned char i = 0;for (i = 0; i < 5; i++){BUZZER_ON;LED_GSM_ON;delay_ms(250);BUZZER_OFF;LED_GSM_OFF;delay_ms(250);}}else // GSM初始化完成蜂鸣器响一声{BUZZER_ON;LED_GSM_ON;delay_ms(1000);BUZZER_OFF;LED_GSM_OFF;}if (!KEY) //开机过程中按键,初始化电话号码为xxxxxxxxxxx{delay_ms(20);if (!KEY){unsigned char i = 0;for (i = 1; i < 12; i++){phone1[i] = 'x';}WriteIntFlash();//写入接收短信电话号码BUZZER_ON;LED_GSM_ON;delay_ms(1000);BUZZER_OFF;LED_GSM_OFF;UART_Send_Str(phone1, 15);}}ReadIntFlash(); //读取接收短信电话号码UART_Send_Str(phone1, 15);LED_GSM_OFF;BUZZER_OFF;while (1){gsm_receive_process(); //gsm接收处理if (ReadAdxl345 == 1) // 定时读取adxl345数据{ReadAdxl345 = 0;ReadData_x(); // 三轴检测函数CheckNum++;if ((temp_X < 550) || (temp_X > 10000)) // 该数据为检测值 不是固定的 一个大概的 角度{ErrorNum++;}if (CheckNum >= 5) // 进行5次处理{if (keyLater >= 3) // 非按键下{if (ErrorNum >= 1) // 角度出现错误{BUZZER_ON; // 打开蜂鸣器}else{BUZZER_OFF;      // 关闭蜂鸣器reportLater = 0; // 上报延时计数}}ErrorNum = 0; // 清空滤波计数CheckNum = 0;}}if (gsm_send_failed_flag == 0){if (reportLater >= 30) // 30s{if (GSM_Send_Sms(phone1, "Help me!!") != 0){ // 发送失败则报警,可能没有设定初始号码gsm_send_failed_flag = 1;for (i = 0; i < 5; i++){BUZZER_ON;LED_GSM_ON;delay_ms(250);BUZZER_OFF;LED_GSM_OFF;delay_ms(250);}}if (gsm_send_flag == 1) // 发送成功,蜂鸣器响一声{gsm_send_flag = 0;BUZZER_ON;LED_GSM_ON;delay_ms(1000);BUZZER_OFF;LED_GSM_OFF;}reportLater = 0; // 上报标志清空keyLater = 0;    // 按键清零延时处理}}if (KEY == 0) // 按键处理{delay_ms(3);  // 按键消抖动if (KEY == 0) // 按键处理{reportLater = 0; // 按键延时上报BUZZER_OFF;      // 关闭蜂鸣器keyLater = 0;    // 按键延时处理}}}
}

实物演示视频:
https://www.bilibili.com/video/BV1oR4y1k72M/

基于STM32单片机老人防跌倒报警系统GSM短信上报原理图PCB相关推荐

  1. STM32老人防跌倒报警GSM短信GPS定位设计(程序+原理图+PCB)

    本设计: 基于STM32老人防跌倒报警GSM短信GPS定位设计(程序+原理图+PCB) 编号C0025 下载链接 C0025 网盘链接 功能描述: 本系统由基于STM32单片机的核心板.ADXL345 ...

  2. 基于STM32单片机远程浇花花盆GSM短信浇水补光设计原理图程序

    功能: 0.本项目采用STM32F103C8T6作为单片机系统的控制MCU 1.系统采用LCD1602液晶显示花盆湿度.温度和光照状态值等参数 2.可实现远程控制,通过GSM短信远程浇水和补光灯控制. ...

  3. 51、基于51单片机的GPS定位系统(GSM短信)

    毕设帮助.开题指导.技术解答(有偿)见文末. 目录 摘要 一.硬件方案 二.设计功能 三.实物图 四.原理图 五.程序 六.资料包括 摘要 1978年2月22日第一颗GPS试验卫星的入轨运行,开创了以 ...

  4. 基于51单片机的老人防跌倒报警器体温检测GSM短信上报原理图方案设计

    硬件电路的设计 (下方附文件) 系统的功能分析及体系结构设计 3.1.1系统功能分析 本设计由STC89C52单片机电路+ADXL345加速度传感器电路+按键电路+蜂鸣器报警电路+DS18B20温度传 ...

  5. 基于STM32单片机三色全彩RGB LED灯控制系统 原理图PCB程序设计

    硬件电路的设计 (末尾附文件) 系统硬件系统分析设计 系统功能设计 本系统由STM32F103C8T6单片机核心板.RGB灯驱动.按键组成. 1.系统实时驱动RGB灯进行显示不同颜色,颜色调整可以通过 ...

  6. STM32单片机智能跟随小车_红外遥控(程序+原理图+PCB+论文报告)

    本设计: 基于STM32单片机智能跟随小车_红外遥控(程序+原理图+PCB+论文报告) 原理图:Altium Designer 程序编译器:keil 5 编程语言:C语言 编号C0021 资料下载 [ ...

  7. 老人防跌倒报警系统,及时防止跌倒给老人带来的伤害-新导智能

    跌倒是我国65岁以上老年人因伤害逝世的主要原因.据统计,老年人产生伤口性骨折的主要原因是跌倒,年龄越大,产生跌倒及因跌倒而受伤或逝世的危险越高.在老年人居家生活.外出活动和机构养老中,苏州新导推出的防 ...

  8. 养老院人员定位系统包含室内人员定位,老人防跌倒报警系统-新导智能

    一.养老院人员定位体系意义 (一)对白叟院人员实时监督办理(信息中心可实时检查白叟方位信息.白叟数量.任何房间白叟信息.白叟院人员动态改变.白叟遇突发事情求助.进入风险区域告警信息等). (二)自动预 ...

  9. 基于stm32单片机的图书馆噪音检测量分贝仪(源码+原理图)

    资料编号:080 根据噪音大小,分别不同指示灯,当噪音过大的时候蜂鸣器报警, 具体功能请看下面演示视频    全套资料齐全: 80-基于stm32单片机的图书馆噪音检测量分贝仪(源码+原理图) stm ...

最新文章

  1. 谷歌AI良心开源:一部手机就能完成3D目标检测,还是实时的那种
  2. Ubuntu Server上的LVM配置
  3. 相对最完整的软件测试工具手册
  4. 深入Eureka/Feign/Hystrix原理学习(1)
  5. vijos p1002——过河(noip2005提高组T2)
  6. 盲僧一键r闪用什么设置_美加狮R.A.T. PRO X3至尊版带你畅玩模拟飞行
  7. arduino COM口被占用问题解决
  8. Leetcode每日一题:104.maximum-depth-of-binary-tree(二叉树的最大深度)
  9. java数组有跨类建立对象_50个性能优化的细节:Java高级开发必会,来学习下吧...
  10. mysql 表 字符集_如何查看MySQL数据库/表/列的字符集?
  11. BFS解决连同块问题
  12. 使用PrinterJob进行分页打印
  13. 计算机软件硬件维修,电脑软硬件维修从入门到精通
  14. 疾病诊断归一化---附加编码
  15. 登录服务器时显示 IE COOKIE阻止,复制Cookie跨域,为什么其他浏览器使用SCRIPT标记发送IE阻止Cookie...
  16. python web 开发从入门到精通 pdf_Python Web开发从入门到精通
  17. 分布式光伏运维服务器,分布式光伏电站专业运维管理
  18. shopee店铺运营重点是什么?最火的引流和出单攻略来了!
  19. MT4自定义指标导入方法
  20. 在虚幻引擎中使用Python批处理4_:贴图参数设置

热门文章

  1. 【算法】从一组数中找出和为指定值的任意组合
  2. /id_xndu5otm2mdq0.html,WEUI应用之JS常用信息提示弹层的封装
  3. 解决 adobe 的 FlashHelperService.exe 的 FF新闻 弹窗广告
  4. 微信分享功能android,关于Android实现简单的微信朋友圈分享功能
  5. 20几岁男人应该懂得50件事
  6. 奇说妙语百度云_陶杰
  7. 【计算机毕业设计】旅游网站ssm源码
  8. 京东软件测试工程师招聘信息,【京东工资】软件测试工程师待遇-看准网
  9. FC-SAN和IP-SAN两者的优缺点分别是什么?
  10. 上海交通大学出版社python教材答案学生信息管理系统_学生信息管理系统(最终版)...