0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用MAX30100的脉搏血氧仪的制作

454398 来源:网络整理 作者:网络整理 2019-11-13 10:51 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

步骤1:材料和组件

需要的东西:

1)Arduino Uno x1

2)MAX30100接线板x1

3)适当长度的魔术贴

4)使用Arduino下载的笔记本电脑

5)跳线

6)焊接线

7)焊接工具

我们从ProtoCentral获得了MAX30100分支板,该分支板已准备就绪,可插入插槽以插入维可牢尼龙搭扣,以便将器件缠绕在手指上。为了将其连接到Arduino,我们还必须将跳线焊接到分支板的引脚上。

步骤2:要求和规格

-建立一个可以调节来自两个不同LED的光并在光电二极管上拾取透射光的手指套

-使用与Arduino和显示器集成在一起的MAX30100芯片。

-提供一个用于在显示心率和血氧饱和度之间进行选择的用户界面。

步骤3:操作摘要

脉搏血氧饱和度测定法根据氧化血红蛋白和脱氧血红蛋白的红色和红外光吸收特性进行操作。血氧浓度可以由血红蛋白从吸收红光和红外光之间的比率算出。心率通过整个手指的血量变化来检测,然后通过穿过手指的光量来量化。

MAX30100芯片集成了两个LED:红色和红外(IR),光电探测器和低噪声信号处理以检测脉搏血氧饱和度和心率信号。红外和红光的吸收数据存储在FIFO缓冲区中,最多64个字节。它提供两种操作模式;心率模式以及心率和氧饱和度模式。在心率模式下,仅IR LED点亮,而在双模式下,IR和红色LED均点亮。它还具有一个集成的60 Hz低通滤波器。虽然可以滤除电源线噪声,但仍不能解决环境噪声和波动问题。

红色和红外光通过LED传输通过手指,并且集成在芯片中的光电检测器可以感应到两个不同波长的光吸收。在本项目中,我们将血氧饱和度和心率检测操作与MAX30100一起使用,因此我们可以同时检测心率和氧饱和度。

步骤4:框图

步骤5:将MAX30100集成到Arduino

MAX30100是I2C器件,因此,通过代码,需要Wire库与Arduino接口。物理上,MAX30100(在本例中为分线板)通过特殊引脚连接到Arduino,这些引脚能够从SCL和SDA线(A4和A5)读取数据。 SCL和SDL线提供数据信号和时钟信号。地线和Vin线分别连接到GND和5V线。

LCD键盘屏蔽通过4-8针连接到Arduino,以便我们提供用户友好的显示。我们还使用了LCD键盘防护板上的两个按钮,用于在两种模式之间进行选择:心率监视器和氧气浓度监视器。

步骤6:源代码

#include

#include

#include

#include “MAX30100.h”

MAX30100*pulseOxymeter;

LiquidCrystal lcd(8,9,4,5,6,7)

int mode = 0;

void setup() {

Wire.begin();

lcd.begin(16,2);

lcd.print(“Up for SaO2”)

lcd.setCurson(0,2);

lcd.println(“Pulse oxymeter test!”)

pulseOxymeter = new MAX30100( DEFAULT_OPERATING_MODE, DEFAULT_SAMPLING_RATE, DEFAULT_LED_PULSE_WIDTH, DEFAULT_IR_LED_CURRENT, true, false);

pinMode(2, OUTPUT);

}

void loop() {

pulseoxymeter_t result = pulseOxymeter-》update();

if ((analogRead(0)》130) && (analogRead(0)《160)) {

lcd.clear();

lcd.setCursor(0,0);

lcd.print( “SaO2: ” );

mode = 1;

} else if ((analogRead(0)》130) && (analogRead(0)《160)) {

lcd.clear();

lcd.setCursor(0,0);

lcd.print( “BPM: ” );

mode = 2;

if (result.pulseDetected == true)

{

if (mode == 1) {

lcd.clear();

lcd.setCursor(0,0);

lcd.print( “SaO2: ”);

lcd.print( result.SaO2 );

lcd.print( “%” );

} else if (mode == 2) {

lcd.clear();

lcd.setCursor(0,0);

lcd.print( “BPM: ”);

lcd.print(result.heartBPM);

}

}

delay(10);

digitalWrite( 2, !digitalRead(2) );

}

步骤7:有关代码实现的更多信息

我们在此项目中提供的代码基于由Raivinis Strogonovs使用开放源代码库编写,该库已使用MAX30100实现了自己的脉搏血氧仪版本。

这是他的库的链接:https://github.com/xcoder123/MAX30100

步骤8:挑战

在实施MAX30100时,我们注意到手指的位置和移动会显着影响所记录的读数。这可能是由于心率的测量很大程度上取决于流经手指的血液量而引起的,皮肤的厚度也在这里发挥了作用。如果手指四处移动,则在获取读数时可能会导致光线不均匀。

测试我们项目的人们不应四处移动手指/手以获取稳定的读数。可以通过将传感器放置在实际的手指套中来改进此项目,该方法可以进一步减少环境光的影响,并且可以使手指保持在适当的位置,而不仅仅是使用简单的魔术贴条即可。
责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 脉搏血氧仪
    +关注

    关注

    1

    文章

    29

    浏览量

    11353
  • MAX30100
    +关注

    关注

    1

    文章

    7

    浏览量

    3405
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CW32F003E4P7方案的特点

    和灌注指数PI 6、可进行屏幕方向翻转。 7、5s快速出测量结果 8、饱和度和脉率超限报警 9、无手指自动关键 10、电池电量报警以及电池电量低自动关机
    发表于 11-25 07:21

    TMR磁阻开关DT7801在中的应用

    TMR磁阻开关DT7801在中的应用主要基于其超低功耗、全极磁场检测、宽工作电压及高可靠性特性,具体体现在以下核心场景: 1. 夹子/探头开合状态检测 原理:
    的头像 发表于 09-12 16:51 643次阅读

    广州唯创电子WT588E02B-8S语音芯片:赋能,开启智能健康新体验

    在家庭健康管理需求激增的背景下,已成为守护大众健康的重要工具。然而,复杂操作常令非专业用户望而生畏。广州唯创电子推出的WT588E02B-8SOTA语音芯片,凭借其创新技术与人性化设计,正重塑
    的头像 发表于 07-25 08:30 294次阅读
    广州唯创电子WT588E02B-8S语音芯片:赋能<b class='flag-5'>血</b><b class='flag-5'>氧</b><b class='flag-5'>仪</b>,开启智能健康新体验

    滑动离散周期变换算法在脉搏测定中的应用

    方法是使用与目标信号时间同步的信号,作为时间参考,来进行系综平均。依靠ECG源的外部心脏触发信号,系综平均方法可以有效地处理信号,但在许多情况下,可能无法获取ECG源。本文在没有ECG触发信号的前提下成功地处理了
    的头像 发表于 06-27 09:58 4249次阅读

    从行业痛点到创新解决驱动方案--【其利天下】

    在医疗健康领域,作为一种关键的检测设备,其技术发展备受瞩目。然而,目前市面上的方案面
    的头像 发表于 06-19 17:50 2462次阅读
    从行业痛点到创新解决<b class='flag-5'>血</b><b class='flag-5'>氧</b><b class='flag-5'>仪</b>驱动方案--【其利天下】

    抗干扰与稳定性:无刷驱动方案的电路设计精髓 --其利天下

    在医疗健康领域,作为监测人体饱和度和心率的重要设备,其准确性、稳定性和低功耗性能至关重要。深圳市其利天下技术开发有限公司,凭借其在
    的头像 发表于 05-11 00:00 1206次阅读
    抗干扰与稳定性:无刷<b class='flag-5'>血</b><b class='flag-5'>氧</b><b class='flag-5'>仪</b>驱动方案的电路设计精髓 --其利天下

    max30100用于可穿戴健康的脉搏仪和心率传感器IC手册

    电子发烧友网站提供《max30100用于可穿戴健康的脉搏仪和心率传感器IC手册.pdf》资料免费下载
    发表于 03-24 09:49 3次下载

    蓝牙模块在上的应用方案,实现精准监测

    一、应用背景主要用于测量饱和度(SpO₂)和脉率,广泛应用于家庭健康、运动监测、医院护理等场景。传统
    的头像 发表于 03-19 15:25 844次阅读
    蓝牙模块在<b class='flag-5'>血</b><b class='flag-5'>氧</b><b class='flag-5'>仪</b>上的应用方案,实现精准监测

    AFE4403能同时测和心率吗?

    我想用新日本无线的NJL5510RC传感器测,用它的NJL5310R测心率,AFE4403能同时测和心率么?如果可以的话该怎么连接呢?
    发表于 01-15 06:22

    请问做反射式饱和度测量时如何进行标定呢?

    请问做反射式饱和度测量时如何进行标定呢? 目前已完成透射式饱和度测量仪的设计和实现,采用的Fluke的生命体征模拟Prosim
    发表于 01-08 06:42

    用AFE4400测,TX_REF始终在3.3V,为什么?

    最近再用AFE4400测,始终不准确。 看了社区里说可以这样检查AFE4400电路是否正常: 1. 0.75V on TX_REF pin (pin#9) 2. 1V on BG pin
    发表于 01-07 08:03

    AFE44x0OSPO2EVM GUI测得SpO2一直低于96%,是为什么?

    脉搏值是准确的 ,但值一直低于95% ,后来我用衣服把探头跟手包裹起来测低于96%了 ,这是什么原因呢?
    发表于 01-06 06:54

    AFE4400想在串口助手里面显示的数据,请问有相关的程序可以参考吗?

    我想在串口助手里面显示的数据,请问有相关的程序可以参考吗?源程序是如何发送数据到电脑端的,没有看懂,想问一下
    发表于 12-30 08:21

    芯海科技推出高精度应用方案

    芯海科技凭借其在模拟信号链和MCU双平台的优势,为应用提供了高精度、强性能、低功耗且易于开发的解决方案。
    的头像 发表于 12-17 17:36 1054次阅读
    芯海科技推出高精度<b class='flag-5'>血</b><b class='flag-5'>氧</b><b class='flag-5'>仪</b>应用方案

    AFE4400模块的AFE_PDNZ管脚是输入口还是输出口,它的作用是什么样的?

    请教一下AFE4400模块的AFE_PDNZ管脚是输入口还是输出口,它的作用是什么样的?是不是寄存器配置好以后,期间会自动工作?
    发表于 12-17 07:52