我是靠谱客的博主 英勇网络,这篇文章主要介绍stm32心率监测系统(心率监测,wifi上传,APP显示,上位机显示),现在分享给大家,希望可以做个参考。

一、硬件材料清单:

1、STM32核心板

2、OLED显示屏

3、心率传感器

4、ESP8266

二、实现的功能

1:STM32采集心率传感器数据
2:OLED实时显示心率数据和心率曲线
3:wifi上传心率数据
4:APP实时显示心率数据
5:C#上位机实时显示心率,心率数据存储,历史数据查看

三、效果演示

四、硬件部分源代码共享

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
while(1) { i=0; un_min=0x3FFFF; un_max=0; //dumping the first 100 sets of samples in the memory and shift the last 400 sets of samples to the top for(i=100;i<500;i++) { aun_red_buffer[i-100]=aun_red_buffer[i]; aun_ir_buffer[i-100]=aun_ir_buffer[i]; //update the signal min and max if(un_min>aun_red_buffer[i]) un_min=aun_red_buffer[i]; if(un_max<aun_red_buffer[i]) un_max=aun_red_buffer[i]; } //take 100 sets of samples before calculating the heart rate. for(i=400;i<500;i++) { un_prev_data=aun_red_buffer[i-1]; while(MAX30102_INT==1); max30102_FIFO_ReadBytes(REG_FIFO_DATA,temp); aun_red_buffer[i] = (long)((long)((long)temp[0]&0x03)<<16) | (long)temp[1]<<8 | (long)temp[2]; // Combine values to get the actual number aun_ir_buffer[i] = (long)((long)((long)temp[3] & 0x03)<<16) |(long)temp[4]<<8 | (long)temp[5]; // Combine values to get the actual number if(aun_red_buffer[i]>un_prev_data) { f_temp=aun_red_buffer[i]-un_prev_data; f_temp/=(un_max-un_min); f_temp*=MAX_BRIGHTNESS; n_brightness-=(int)f_temp; if(n_brightness<0) n_brightness=0; } else { f_temp=un_prev_data-aun_red_buffer[i]; f_temp/=(un_max-un_min); f_temp*=MAX_BRIGHTNESS; n_brightness+=(int)f_temp; if(n_brightness>MAX_BRIGHTNESS) n_brightness=MAX_BRIGHTNESS; } }

五、源代码链接

复制代码
1
https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-22569760063.19.141f3134HIEvMf&id=632312737526

最后

以上就是英勇网络最近收集整理的关于stm32心率监测系统(心率监测,wifi上传,APP显示,上位机显示)的全部内容,更多相关stm32心率监测系统(心率监测内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部