MAX30100是能够读取心率、血氧的传感器,通信方式是通过IIC进行通信。其工作原理是通过红外led灯照射,能够得到心率的ADC值。
       MAX30100的寄存器可以分为五类,状态寄存器、FIFO、控制寄存器、温度寄存器、ID寄存器。温度寄存器是读取芯片的温度值,以矫正因为温度而产生的偏差。ID寄存器是读取芯片的ID号。

重点在于另外三类寄存器。
STATUS寄存器
其中,STATUS寄存器有两个,一个是中断状态寄存器,一个是中断使能寄存器。

FIFO寄存器
数据存储在FIFO_DATA寄存器,我们主要去读取他就可以了。其余三个是溢出次数以及读写指针。
DATA存的数据是每次读到的ADC值。每一次会读四次,依次是IR的高低数据、RED的高低数据。

Configured寄存器
Mode寄存器中 SHDN是低功耗控制位、RESET是复位、TEMP_EN是温度检测使能,MODE是模式选择。
SPO2设置寄存器 主要是设置血氧浓度相关的参数的,以及LED_PW的功率。
LED寄存器是设置两颗灯的脉冲时间。

MAX30100是一种非侵入式集成的脉搏血氧饱和度和心脏速率监视传感器的解决方案。

它结合了两个发光二极管,一个光检测器,优化光学和低噪声的仿真信号处理,以检测脉搏血氧饱和度和心脏速率信号。
只需要将手指头紧贴在传感器上,就能估计 脉搏血氧饱和度(SpO2)及脉搏(相当于心跳)。
携带氧气的红血球能吸收较多红外光(850-1000nm),未携带氧气的红血球则是吸收较多的红光(600-750nm),
因此pulse oximeter就是一个迷你的分光计,利用不同红血球之吸收光谱的原理,来分析血氧饱和度。
这种实时而快速的测量方式,也广泛被运用在许多临床的参考。

实验器材:
正点原子精英STM32F103开发板

实验目的:
Max30100模块使用

硬件资源:
1,SCL接PB6
2,SDA接PB7

实验现象:
在串口打印心率与血氧数据,数据间隔较长,是因为需要在STM32进行复杂运算

转载自:https://blog.csdn.net/tichimi3375/article/details/79680431

基于STM32F103的Max30100心率、血氧检测代码(转载)的更多相关文章

  1. (四)HXDZ-30102-ACC检测心率血氧数据并通过串口助手显示

    主要参考模块说明书 写在前面的话 硬件原理我是真的搞不明白,所以心率血氧传感器数据检测就是模块卖家自带的代码... 我使用HXDZ-30102-ACC传感器也是偶然在网上检索到的,集成心率血氧和三轴加 ...

  2. STM32+Air202+Air530+HXDZ-30102-ACC心率血氧GPS采集上传到阿里云

    所有资料都在QQ群1121445919 主要功能 HXDZ-30102-ACC采集心率血氧数据 STM32通过串口将数据转发到air202模块 air202将数据上传到阿里云平台进行展示与处理 整合合 ...

  3. 关于MAX30100心率的编程

    MAX30100是能够读取心率.血氧的传感器,通信方式是通过IIC进行通信. 其工作原理是通过红外led灯照射,能够得到心率的ADC值. 图为MAX30100的寄存器. 可以分为五类,状态寄存器.FI ...

  4. 基于Python实现的死链接自动化检测工具

    基于Python实现的死链接自动化检测工具   by:授客 QQ:1033553122 测试环境: win7 python 3.3.2 chardet 2.3.0 脚本作用: 检测系统中访问异常(请求 ...

  5. 基于链表的C语言堆内存检测

    说明 本文基于链表实现C语言堆内存的检测机制,可检测内存泄露.越界和重复释放等操作问题. 本文仅提供即视代码层面的检测机制,不考虑编译链接级的注入或钩子.此外,该机制暂未考虑并发保护. 相关性文章参见 ...

  6. AIOps探索:基于VAE模型的周期性KPI异常检测方法——VAE异常检测

    AIOps探索:基于VAE模型的周期性KPI异常检测方法 from:jinjinlin.com   作者:林锦进 前言 在智能运维领域中,由于缺少异常样本,有监督方法的使用场景受限.因此,如何利用无监 ...

  7. 伪基站,卒于5G——本质上是基于网络和UE辅助的伪基站检测,就是将相邻基站的CI、信号强度等信息通过测量报告上报给网络,网络结合网络拓扑、配置信息等相关数据,对所有数据进行综合分析,确认在某个区域中是否存在伪基站

    伪基站,卒于5G from:https://www.huxiu.com/article/251252.html?h_s=h8 2018-07-05 21:58收藏27评论6社交通讯     本文来自微 ...

  8. 基于Haar特征的Adaboost级联人脸检测分类器

    基于Haar特征的Adaboost级联人脸检测分类器基于Haar特征的Adaboost级联人脸检测分类器,简称haar分类器.通过这个算法的名字,我们可以看到这个算法其实包含了几个关键点:Haar特征 ...

  9. 基于深度学习的安卓恶意应用检测----------android manfest.xml + run time opcode, use 深度置信网络(DBN)

    基于深度学习的安卓恶意应用检测 from:http://www.xml-data.org/JSJYY/2017-6-1650.htm 苏志达, 祝跃飞, 刘龙     摘要: 针对传统安卓恶意程序检测 ...

随机推荐

  1. cropperjs的高度过大(container height too much)

    cropperjs的高度过大(container height too much) 标签(空格分隔): JavaScript 业务需要web头像裁切,用canvas写了个demo卡成一匹马,于是就去寻 ...

  2. matlab解方程

    [x1,y1,x2,y2]=solve('x1^2 + y1^2=1','x2^2-8*x2 +y2^2 +15=0','x1*x2 + y1 * y2=1','x1 + x2 =a','x1','y ...

  3. oracle数据库中创建表空间和临时表空间,以及用户和密码以及设置密码永不过期

    首先进入oracle用户,命令是: su - oracle sqlplus /nolog connect system/123456@ora11g 或者 [oracle@localhost ~]$   ...

  4. Linux下elk安装配置

    安装jdkJDK版本大于1.8 elk下载地址:https://www.elastic.co/products注意:elk三个版本都要保持一致. rpm -ivh elasticsearch-5.4. ...

  5. 数据库-identifying 与non-identifying realtionship 区别

    MySQL Workbench 或者是 E-RWin等进行数据库建模时,通常会对数据表进行关联操作,即设置表与表之间的关系 1:1 1:n m:n,而它们具有 identifying realtion ...

  6. 【[CTSC2000]冰原探险】

    noip前练一下码力还是非常有前途的 这道题本来就是想写个大暴力弃疗的,所以直接强上暴力浑身舒爽 结果发现要不是判重的时候脑残了,就能\(A\)了 没什么好说的呀,就是每一次都暴力\(O(n)\)往上 ...

  7. redux创建store,处理更新数据

    如果我们想使用redux,第一步需要通过 yarn add redux 来安装redux 安装成功后就需要去创建一个store,怎么创建呢,非常的简单,在src下面创建一个文件夹,这个文件夹名字就叫做 ...

  8. 应用性能指数(APDEX)是如何计算出来的?

    应用性能指数(APDEX)是如何计算出来的?在应用性能管理领域聚合指标是一种常见手段,主要是用来把成百上千的指标通过某种计算方法聚合成一个或几个指标,用来反映应用的整体健康状态.在这些聚合指标中,比较 ...

  9. 2018.12.24 Spring中的aop演示(也就是运用aop技术实现代理模式)

    Aop的最大意义是:在不改变原来代码的前提下,也不对源代码做任何协议接口要求.而实现了类似插件的方式,来修改源代码,给源代码插入新的执行代码. 1.spring中的aop演示 aop:面向方面编程.不 ...

  10. js数组、字符串常用方法

    数组方面 push:向数组尾部增加内容,返回的是新数组的长度. var arr = [1,2,3]; console.log(arr); var b = arr.push(4); console.lo ...