基于 STM32 的智能睡眠呼吸监测系统设计

本设计的硬件构成:

STM32F103C8T6单片机最小系统板(包含+3.3V稳压电路+时钟晶振电路+复位电路(上电自复位,手动复位)),心率传感器、气压传感器、液晶显示、按键、蜂鸣器、LED灯、蓝牙模块组合而成;

功能介绍:

1、检测呼吸状态频率、心率。LCD显示屏幕进行数据显示呼吸频率、心率值。

2、可以按键设置呼吸状态阈值,如果超过阈值,发生声光报警。按键1:设置键;按键2:加一键;按键3:减一键。

3、通过蓝牙模块通信连接手机 APP,显示呼吸、心率数据。

4、系统根据呼吸频率判断并且显示睡眠阶段:深度睡眠、浅度睡眠、清醒。

PCB:

部分程序源码:

复制代码
int main(void)
 {  
  u8 key_value=0;
  delay_init();      //延时函数初始化    
  UART1_INIT(9600);
  Lcd_GPIO_init();
  Lcd_Init() ;
   Lcd_Puts(0,0," Initialzing");
  HX711_GPIO_Init();
   BEEP_Init();
   RELAY_Init();
  EXTIX_Init();    // 初始化外部中断
   KEY_Init();//IO初始化  
  TIM2_Init(49,7199);//5ms 
  beep=0;
  delay_ms(500);       //上电瞬间加入一定延时在初始化
   beep=1;
  To_Zero();
​
  while(1)
  {   
    key_value=KEY_Scan(0);
    key_handle(key_value);
    
​
        if(time_5ms>=100)
        {
          time_5ms=0;
          if(set==0)
            display();
          
          APP_Update();    //向APP上传数据
          
          if((setbreath<breath)||(setheart<xinLv) &&(set==0))  //判断是否达到报警值
          {
            if(GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_9)==0)//开启蜂鸣器报警
            {
              beep=1;
            }
            else
              beep=0;
          }
          else 
            beep=1;
        }
​
        if(time_50ms>=2)   //采集呼吸值
        {
          time_50ms=0;
          weight=get_weight();
          count2++;
          if(weight>FullScale)
          {
            weight_data[count2]=(weight-FullScale)/100;
          }
          
          if(count2>=100)   //采集达到100次,计算呼吸频率
          {
            find_peak_value();    //计算峰值数据
            interval=interval2-interval1;    
            breath=interval*7/3;
            if(breath>500)   //清空缓冲区数据
              breath=0;
            for(count2=0;count2<100;count2++)
            {
              weight_data[count2]=0;
            }
            count2=0;
          }
          interval1=0;
          interval2=0;
                 
        }
    }
    
  }
 }

资料链接:https://pan.baidu.com/s/1qzs4kjQijdTl1ywN1v753A

提取码:ncoq

相关推荐
深圳市九鼎创展科技8 小时前
瑞芯微 RK3399 开发板 X3399 评测:高性能 ARM 平台的多面手
linux·arm开发·人工智能·单片机·嵌入式硬件·边缘计算
辰哥单片机设计8 小时前
STM32项目分享:车辆防盗报警系统
stm32·单片机·嵌入式硬件
風清掦9 小时前
【江科大STM32学习笔记-05】EXTI外部中断11
笔记·stm32·学习
小龙报9 小时前
【51单片机】从 0 到 1 玩转 51 蜂鸣器:分清有源无源,轻松驱动它奏响新年旋律
c语言·数据结构·c++·stm32·单片机·嵌入式硬件·51单片机
范纹杉想快点毕业9 小时前
嵌入式与单片机开发核心学习指南——从思维转变到第一性原理的深度实践
单片机·嵌入式硬件
Industio_触觉智能9 小时前
瑞芯微RK3566开发板规格书,详细参数配置,型号EVB3566-V1,基于RK3566核心板SOM3566邮票孔封装
嵌入式硬件·开发板·rk3568·rk3566·核心板·瑞芯微
czwxkn10 小时前
4STM32(stdl)TIM定时器
stm32·单片机·嵌入式硬件
Love Song残响10 小时前
NVIDIA显卡终极优化指南
stm32·单片机·嵌入式硬件
qq_6725927510 小时前
电源芯片为什么发热
单片机·嵌入式硬件
天天爱吃肉821810 小时前
【跨界封神|周杰伦×王传福(陶晶莹主持):音乐创作与新能源NVH测试,底层逻辑竟完全同源!(新人必看入行指南)】
python·嵌入式硬件·算法·汽车