基于STM32F103的Max30100心率、血氧检测代码

       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进行复杂运算

注意事项:
无.

点击下载代码

硬件资源:
1,SCL接PC12
2,SDA接PPC11

点击下载代码

至此,教程结束,谢谢大家,也欢迎大家关注我的个人技术与资源分享公众号“linkutures”



  • 24
    点赞
  • 267
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值