MAX30102脉搏血氧仪和心率传感器(四)血氧+心率完整版(STM32)

这篇具有很好参考价值的文章主要介绍了MAX30102脉搏血氧仪和心率传感器(四)血氧+心率完整版(STM32)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

相较于上一章,增加和改进的地方有:①增加了血氧饱和度测量;②改进了心率的代码。即中断采集完一段数据后才“扔进“函数进行处理,期间处理器可以做其它事情,但算法原理与上一章基本相同;③减少了代码量,较为简洁高效。


一、先上测试结果

1.测试步骤

  • 手指接触到传感器,等待1-2s后串口输出信息;
  • 前2-3个数据是不稳定的数据,因为采集的是刚刚接触到传感器的数据如下图红框部分),可以丢弃
  • 输出的第3个数据以后是比较稳定的数据了;
  • 手指离开传感器以后,串口不再输出信息。再次接触传感器后重新开始测量

2.测试结果

MAX30102脉搏血氧仪和心率传感器(四)血氧+心率完整版(STM32)MAX30102脉搏血氧仪和心率传感器(四)血氧+心率完整版(STM32)MAX30102脉搏血氧仪和心率传感器(四)血氧+心率完整版(STM32)

3.后续处理方法

可以看到就算是稳定的数据也有一定的起伏,可以来个滤波处理。

  • 均值滤波:例如采集10组数据,去掉2个最大、最小值,剩下的取均值;
  • 取中值,这个很简单就不说了。

还有其它很多的滤波方法。总之,可以根据需要进行数据处理。

二、血氧饱和度

1.原理

MAX30102传感器上具有红光(660nm)和红外光(880nm)两个LED,人体氧合血氧蛋白和非氧合血氧蛋白对这两个不同波长的光吸收率的差异较为明显。可以据此得出血氧饱和度。

2.计算方法

官方提供的方法如下:

MAX30102脉搏血氧仪和心率传感器(四)血氧+心率完整版(STM32)

float max30102_getSpO2(float *ir_input_data,float *red_input_data,uint16_t cache_nums)
{
			float ir_max=*ir_input_data,ir_min=*ir_input_data;
			float red_max=*red_input_data,red_min=*red_input_data;
			float R;
			uint16_t i;
			for(i=1;i<cache_nums;i++)
			{
				if(ir_max<*(ir_input_data+i))
				{
					ir_max=*(ir_input_data+i);
				}
				if(ir_min>*(ir_input_data+i))
				{
					ir_min=*(ir_input_data+i);
				}
				if(red_max<*(red_input_data+i))
				{
					red_max=*(red_input_data+i);
				}
				if(red_min>*(red_input_data+i))
				{
					red_min=*(red_input_data+i);
				}
			}
			 R=((ir_max+ir_min)*(red_max-red_min))/((red_max+red_min)*(ir_max-ir_min));
			return ((-45.060)*R*R + 30.354*R + 94.845);
}

三、源码获取(STM32例程)

关注下方公众号,回复 “MAX30102V4” 获取源码;若有疑问,请在公众号回复“交流群”,进群一起讨论分享!
MAX30102脉搏血氧仪和心率传感器(四)血氧+心率完整版(STM32)文章来源地址https://www.toymoban.com/news/detail-409161.html

到了这里,关于MAX30102脉搏血氧仪和心率传感器(四)血氧+心率完整版(STM32)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32传感器外设集--心率模块(MAX30102)

    目录 ​​​​​​​ 一、模块介绍 二、资料获取连接  欢迎关注微信公众号--星之援工作室 发送(MAX30102) 三、接线方式 四、代码编写 main.c max30102.c max30102.h myiic.c myiic.h algorithm.c algorithm.h 五 、参考 MAX30102模块是一种集成了光学传感器和信号处理器的模块,广泛应用

    2024年01月22日
    浏览(48)
  • Arduino开发实例-DIY简单脉搏血氧仪(基于MAX30100)

    本文将介绍如何通过MAX30100制作一个简易的脉搏血氧仪。脉搏血氧仪用于测量心率和 SpO2 水平,在这里,我们将使用 Arduino、MAX30100 传感器和 0.96 英寸 SSD1306 OLED 显示屏 DIY 脉搏血氧仪。 在前面的文章中,对MAX30100传感器模块驱动做了详细的介绍,请参考: MAX30100 脉搏血氧仪传

    2024年02月01日
    浏览(44)
  • STM32+ MAX30102通过指尖测量心率+血氧饱和度

            重要的事情放在最前面:max30102只适用于指尖手指测量,不适用与手腕手指测量,如需做成可穿戴样式选择传感器的小伙伴请pass掉他,因为他只有红光和红外2种光,不够充足的数据源去运算。         由于一些原因,本篇文章所有下载资源不收取任何积分,让你不

    2024年02月03日
    浏览(47)
  • 【开源】ESP8266_MAX30102_OLED屏幕实现血氧心率检测

    本系列,是记录自己入门嵌入式领域的学习笔记。 看看能坚持多久。 今天是2023年5月2日 源代码的来源:https://github.com/yangqingyuan-byte/MAX30102-0.96_4pin_oled-esp8266_HR_and_SPO2 * ESP8266 --- OLED * GND --- GND * * 5V --- VCC  * D1 --- SCL  * D2 --- SDA  * ESP8266 --- MAX30102 * 5V --- VIN * G --- GND * D0 --- INT

    2024年02月03日
    浏览(41)
  • 84、基于STM32单片机的心率MAX102血氧浓度脉搏检测系统设计

    毕设帮助、开题指导、技术解答(有偿)见文末。 目录 摘要 一、硬件方案 二、设计功能 三、实物图 四、原理图 五、PCB图 六、硬件框图 七、流程图  八、程序源码  九、 资料包括 血氧饱和度是人体生理参数检测的一个重要指标。但是传统的血氧监测仪造价成本太高,只

    2024年02月07日
    浏览(71)
  • STM32F103标准库函数驱动max30102心率血氧模块

    实际接线图, 1.VIN 3v-5v都可以 2.SDA SCL 是两根依据IIC传输的线(具体看你想用哪两个IO口) 代码里面iicStart.c有解释 3.GND接地 4.其余的端口,我没接,最后是可以接受到数据的。 (想更详细了解模块的朋友,可以看该模块手册)手册放下面了 ----------------------------------------------

    2023年04月15日
    浏览(41)
  • STM32--基于STM32F103的MAX30102心率血氧测量

    本文介绍基于STM32F103ZET6+MAX30102心率血氧测量+0.96寸OLED(7针)显示(完整程序代码见文末链接) 一、简介 MAX30102是一个集成的脉搏血氧仪和心率监测仪生物传感器的模块。它集成了一个红光LED和一个红外光LED、光电检测器、光器件,以及带环境光抑制的低噪声电子电路。 MA

    2024年01月16日
    浏览(47)
  • 基于STM32F030、MAX30102血氧心率监测仪的设计(一)

            搞这个设计用时大约一周,中途遇到好多问题,查找资料乱七八糟,始终没有解决问题,只能自己慢慢的啃资料,本文章主要记录设计过程及记录遇到的问题,做个记录同时帮助有需要的朋友。         目前该设计已成功读取计算出血氧及心率数据,算法还需

    2023年04月23日
    浏览(43)
  • 基于STM32F030、MAX30102血氧心率监测仪的设计(二)

            上篇主要讲解了MAX30102寄存器相关知识,这篇主要看下程序配置。 MAX30102寄存器配置         在一般的配置中我们让设备开机直接开始进入SpO2/HR 模式(PROX_INT_EN 置 0),设置两个LED的电流都为0x40,然后开启 RDY 中断使能。这样每次数据采集ok就可以中断一次去

    2024年02月06日
    浏览(46)
  • 基于单片机心率脉搏心率血压体温血氧检测系统的设计与实现

     功能介绍        本次设计通过32系列单片机STM32进行数据处理,配置引脚和JFC103传感器以及温度传感器进行数据通信。采用防水DS18B20进行腋下温度采集,通过单总线方式进行数据传输。心率血氧血压模块通过串口通信方式把采集到的数据发送给单片机,所有的信息我们通

    2024年02月07日
    浏览(94)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包