基于STM32可穿戴心率和血氧饱和度检测仪

可穿戴心率、血氧饱和度测量设备简单介绍:

1.传感器采用的是Maxim的MAX30102(与MAX30101 pin-to-pin兼容,换用MAX30101应该有更好的心率测量效果);

2.单片机使用的是STM32F103;

3.显示用的是OLED显示屏,显示心率、血氧饱和度还有两种波长光的波形。系统设计框图:

系统设计框图:

利用STM32配置好MAX30102模块之后,通过IIC接口周期性的读取信号。

STM32通过串口将采集到的原始信号发送到电脑的串口调试助手,然后把串口调试助手的数据保存之后用matlab的plot函数显示出波形。

结果如下图:

传感器输出的波形还是不错的,尤其是在指尖,上面是matlab plot出的波形。

附带有完整电路图、STM32代码(有心率和血氧饱和度算法)、5k字以上的设计说明文档、资料。

#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "max30102.h" 
#include "myiic.h"
#include "algorithm.h"
#include "oled.h"

uint32_t aun_ir_buffer[500]; //IR LED sensor data
int32_t n_ir_buffer_length;    //data length
uint32_t aun_red_buffer[500];    //Red LED sensor data
int32_t n_sp02; //SPO2 value
int8_t ch_spo2_valid;   //indicator to show if the SP02 calculation is valid
int32_t n_heart_rate;   //heart rate value
int8_t  ch_hr_valid;    //indicator to show if the heart rate calculation is valid
uint8_t uch_dummy;

#define MAX_BRIGHTNESS 255

void dis_DrawCurve(u32* data,u8 x);

int main(void)
{ 
	//variables to calculate the on-board LED brightness that reflects t

【资源下载】下载地址如下(798):https://docs.qq.com/doc/DTlRSd01BZXNpRUxl

posted @ 2020-12-30 09:05  roadroad  阅读(1593)  评论(0编辑  收藏  举报
电设屋
上千套电子毕设课设方案