当前位置: 首页 > news >正文

stm32 + ads1292心率检测报警设置上下限

        这个项目是在做心率检测的时候一个小伙伴提出来的,今年五一的时候提出来的想法,五一假期的时候没时间,也没心情做这个,就把这个事情搁置了,在月中做工作计划的时候,就把这个小项目排进来了,五一前做了硬件,程序一直没时间调试。正好其他项目做的不顺利,就搞一搞这种小玩意。

项目需求: 1、ads1292检测心率,在tft屏幕上显示波形和心率数值。

                   2、通过三个按键来设置心率范围,并在tft屏幕上显示

                   3、心率范围超过设置范围,蜂鸣器发生警报。

硬件:         1、单片机:stm32f103c8

                    2、ads1292 心率检测模块

                    3、心电信号发生器 

  单片机底板自己做的板子,ads1292模块和心电信号发生器均为芯科电子的。

ads1292检测模块:ads1292模块

心电发生器:心电信号发生器

整体效果

        整体程序写起来并不难,但断断续续也花了一天时间,按键逻辑和检测逻辑不难,反而是TFT显示部分的逻辑混乱了,该清屏的时候没有清掉,按键逻辑跟清屏逻辑冲突,导致按对应的按键显示的跟预期不一样。

设置界面

黄色字体部分为设置参数,分别设置心率的最大和最小值,通过最大最小值来改变检测范围。

设置界面主要是三个按键,一个设置按键,一个数值增加,一个数值减小。

程序中通过轮询来不断检测按键状态,就可以判断对应的电平。

这是设置按键的处理函数,其他按键处理方式相同,只需要改成对应按键即可。

	// 检测SET_KEY上升沿(从低到高)if(set_key_state && !set_key_last_state){// 延时消抖delay_ms(20);if(SET_KEY){// 处理SET_KEY按下事件if(current_mode == NORMAL_MODE){// 从正常模式进入设置模式(设置上限)Enter_SetMode();}else if(current_mode == SET_UPPER_MODE){// 从设置上限模式切换到设置下限模式current_mode = SET_LOWER_MODE;flash_flag = 1; Update_SetDisplay();}else if(current_mode == SET_LOWER_MODE){// 从设置下限模式保存设置并返回正常模式Save_Setting();current_mode = NORMAL_MODE;Update_SetDisplay();}}}

报警部分

报警部分主要是硬件电路,就是一个蜂鸣器,软件上主要是结合检测部分,做电平反转就可以了。

这部分主要是体现在检测心率的函数里

void Check_HeartRate(void)
{if(heart_rate > 0) // 确保心率值有效{if(heart_rate < hr_lower_limit || heart_rate > hr_upper_limit){// 心率超出范围,触发报警if(!alarm_triggered){alarm_triggered = 1;buzz_tick = sys_tick;buzz_state = 1;BUZZER = 1;}}else{// 心率在正常范围内,解除报警if(alarm_triggered){alarm_triggered = 0;BUZZER = 0;// 清除报警信息LCD_Fill(10,190,100,214,BLACK);}}}
}

   调试的时候用的是心电信号发生器,这个发生器心率范围可以在60-120bpm之间任意设置,就可以在心率心率范围外进行心率测试,当心率超过设置范围,蜂鸣器就会发生警报报警。

相关文章:

  • python打卡第36天
  • Linux线程池(上)(33)
  • 驱动开发学习20250529
  • 前端开发中 <> 符号解析问题全解:React、Vue 与 UniApp 场景分析与解决方案
  • 前端的面试笔记——Vue2/3(一)Vue2和Vue3的区别和优缺点
  • ai如何绘制mg人物眉毛
  • 爬虫到智能数据分析:Bright Data × Kimi 智能洞察亚马逊电商产品销售潜力
  • C++ —(详述c++特性)
  • 3.1.1栈的基本概念
  • 基于Session与基于Redis与Token验证码登录校验
  • 安全帽检测算法AI智能分析网关V4守护工地/矿山/工厂等多场景作业安全
  • Python训练营打卡Day39
  • Ubuntu 安装 Miniconda 及配置国内镜像源完整指南
  • 进程间通信(共享内存)
  • TRS收益互换平台开发实践:从需求分析到系统实现
  • 生产者 - 消费者问题(通俗
  • Maven 仓库类型与镜像策略
  • VueScan Pro v9.8.45.08 一款图像扫描软件,中文绿色便携版
  • 网络安全实训平台的设计与建设方案
  • 46. Permutations和47. Permutations II
  • 网络宣传网站建设价格/做网站哪家公司比较好而且不贵
  • 有哪些推广平台/谷歌seo建站
  • 17做网店网站/最新的疫情数据
  • html模板代码免费下载/seo工具是什么意思
  • 网站建设模板购买/seo流量排名工具
  • 微网站是什么意思/网站推广如何收费