亲,“电路城”已合并升级到更全、更大、更强的「新与非网」。点击查看「新与非网」

本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于 Arduino 的DIY脉搏血氧仪

发布时间:2021-07-11
分享到:

基于 Arduino 的DIY脉搏血氧仪

发布时间:2021-07-11
分享到:

在这篇文章中,我将告诉您,如何使用 Arduino 和一些非常基本的电子元件制作脉搏血氧仪,在 Covid19 的这种大流行情况下,我们大多数人可能都熟悉我们用来测量血氧饱和度的血氧仪血液和脉搏。

第 1 步:基本原则

血氧计如何工作?

基本上,血氧仪根据血液中不同光吸收的量计算血液中的氧饱和度百分比。血氧计有一个光电二极管和两个 LED,一个是红色 LED,另一个是红外 LED,两个 LED 以特定频率一个接一个地切换。如图所示,将指尖放在光电二极管和 LED 之间进行测量。含氧的血液吸收更多的红外线并通过更多的红光,而脱氧的血液吸收更多的红光并通过更多的红外线。处理器计算光电二极管在不同时间间隔接收到的红光与红外光的比率。有关脉搏血氧饱和度基本原理和解释的更多详细信息,请访问此内容或查看有关NXP 脉搏血氧仪基础知识和设计的 pdf

第 2 步:让我们自己制作血氧计

使用的组件:

  • Arduino Pro Mini X1 
  • OLED 显示屏 X1 
  • 晶体管 BC547 X2 
  • 光电二极管 X1 
  • 红外 LED X1 
  • 红色 LED X1 
  • 电阻器
  • 10K x1 , 4.7K x2
  • 9V 电池 X1 
  • 电池盖 X1
  • 离合器X1

第 3 步:电路图

血氧计还可以使用Max30100传感器来测量血液中的脉搏和血氧饱和度。用它来做脉搏血氧计并不是很关键,因为它结合了两个led,一个光电探测器,优化的光学,低噪声模拟信号处理来检测脉搏血氧计和心率信号和I2C接口。但我想做一个血氧仪与它的基本组件使用在Max30100传感器,即2个led和光电探测器。

我把通用光电二极体,使用磨床磨它,让它平、薄,以便它可以接收马克斯光从源,最初是在圆形和黑暗的颜色,这两个因素阻止更多的可见光,这不是适合我们的项目,因为我们使用的是红色可见光以及不可见的红外光。类似地,我从一边磨了一个红色LED和一个红外LED,并用强力胶将它们结合起来。拿一个头发抓器,把光电二极管在它的一边,并结合led在另一边,如图所示。在这之后,我连接了所有的元件,如电路图所示。我在这里没有使用PCB,因为组件很少,所以我把它们焊接在Arduino板周围,然后用热胶固定。用9伏电池为血氧计供电。

第 4 步:组装后我的血氧计

第 5 步:编程

Arduino pro mini 不附带任何类型的用于编程的 USB 连接器,这就是为什么初学者很难对其进行编程的原因。但是不用担心,我在这里描述了一种将程序上传到 Arduino pro mini 的简单方法。拿一个 arduino uno 并移除它的主要 IC,即 AtMEGA328P。然后将它与 arduino pro mini 连接起来,如上图所示。

Arduino UNO Arduino Pro Mini

Vcc -------------------------------- Vcc

地线 ------------------------------ 地线

接收 --------------------------------- 接收

发送 ---------------------------------- 发送

Rst --------------------------------- Rst

接线后使用 USB 电缆将 Arduino Uno 与计算机连接。下载以下 Arduino 代码并使用 Arduino ide 打开它。现在转到工具菜单并选择板 Arduino Pro mini,再次转到工具菜单并选择 COM 端口。现在点击上传按钮。上传程序全部完成并准备播放后。

脉搏血氧仪.ino

第 6 步:输出完成

我将我的血氧仪与专业血氧仪进行了比较,其准确度几乎达到 99%。为了达到这个精度,我在代码中做了一些校准设置,检查下面这行代码并根据你的读数进行更改。并使用新的校准公式再次上传程序。

 //
        // SATURTION IS A FUNCTION OF R (calibration)
        // Y = k*x + m  // change the value of m  increase or decrease it  as per your reading 
        // k and m are calculated with another oximeter
               SpO2 = -19 * R + 99; // 

 

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论 (1)

讨论区
Mr. ℳ๓₯㎕ ·  2021-07-22