MAX30102脉搏血氧和心率传感器是一款基于I2C的低功耗即插即用型生物识别传感器。想要将实时心率数据整合到项目中的学生、爱好者、工程师、创客以及游戏和移动开发人员可以使用它。
MAX30102模块硬件概述 该模块采用MAX30102(MAX30100的升级产品) - ADI公司的现代集成脉搏血氧计和心率传感器。它包含了两个LED、一个光电探测器、优化的光学器件和低噪声模拟信号处理来检测脉搏血氧饱和度 (SpO2) 和心率 (HR) 信号。
MAX30102有两个LED:红色LDE和红外LED。模块另一边是一个非常灵敏的光电探测器。当点亮LED时,检测反射回探测器的光量,然后根据特征,你可以测量血氧值和心率。
电源 MAX30102模块需要两种不同的电源电压:传感器为1.8V,红色LED和红外LED为3.3V。所以模块自带3.3V和1.8V稳压器。
在电路板背面,您会发现一个焊接跳线,可用于在3.3V和1.8V逻辑电平之间进行选择。默认选择与 Arduino的逻辑电平兼容的3.3V逻辑电平。但您也可以根据需要选择1.8V逻辑电平。这允许您将模块连接到任何具有5V、3.3V甚至1.8V电平I/O的微控制器。
MAX30102 最重要的特性之一是其低功耗:MAX30102在测量期间的功耗低于600μA。也可以将MAX30102置于待机模式,其功耗仅为0.7μA。这种低功耗允许在手机、可穿戴设备或智能手表等电池供电设备中实现。
片上温度传感器 MAX30102具有片上温度传感器,可用于补偿环境变化和校准测量值。
这是一款相当精确的温度传感器,可测量 -40˚C 至 +85˚C 范围内的芯片温度,精度为±1˚C。
I2C接口 该模块使用简单的两线I2C接口与微控制器通信。它有一个固定的I2C地址:0xAE(用于写操作)和 0xAF(用于读操作)。
FIFO缓冲器 MAX30102嵌入了一个FIFO缓冲器,用于存储数据样本。FIFO有一个32个样本的存储库,这意味着它可以容纳多达32个SpO2和心率样本。FIFO缓冲器可以减轻微控制器从传感器读取每个新数据样本的负担,从而节省系统功耗。
中断 MAX30102可以编程产生中断,允许主机微控制器在传感器收集数据的同时执行其他任务。可以为5个不同的源启用中断: ● 电源就绪:上电或掉电后触发。 ● 新数据就绪:在收集每个SpO2和HR数据样本后触发。 ● 环境光消除:当 SpO2/HR 光电二极管的环境光消除功能达到最大限制时触发,影响ADC的输出。 ● 温度就绪:当内部芯片温度转换完成时触发。 ● FIFO已满:当FIFO已满且未来数据即将丢失时触发。
INT引脚是漏极开路,因此使用板载电阻拉高。当中断发生时,INT引脚变为低电平并保持低电平,直到中断被清除。
MAX30102脉搏血氧和心率传感器如何工作? MAX30102或任何光学脉搏血氧和心率传感器由一对高强度LED(红色 和红外LED,均为不同波长)和一个光电探测器组成。这些LED的波长分别为660nm和880nm。
MAX30102的工作原理是将两种光都照射到手指或耳垂上并使用光电探测器测量反射光量。这种通过光检测脉冲的方法称为光电体积描记图(Photoplethysmogram)。
MAX30102的工作可分为两部分:心率测量和脉搏血氧饱和度(测量血液中的氧含量)。
心率测量 动脉血中的氧合血红蛋白(HbO2)具有吸收红外光的特性。血液越红(血红蛋白越高),吸收的红外光越多。当血液随着每次心跳泵入手指时,反射光的量会发生变化,从而在光电探测器的输出端产生变化的波形。当您继续照射光并获取光电探测器读数时,您很快就会开始获得心跳 (HR) 脉搏读数。
脉搏血氧 脉搏血氧(Pulse Oximetry)的原理是,吸收的红光和红外光量取决于血液中的氧气量。下图是含氧血红蛋白 (HbO2) 和脱氧血红蛋白 (Hb) 的吸收光谱。
从图中可以看出,脱氧血液吸收更多红光(660nm),而含氧血液吸收更多红外光(880nm)。通过测量光电探测器接收到的红外和红光的比率,可以计算出血液中的氧气水平 (SpO2)。
MAX30102模块引脚 MAX30102模块提供以下连接。
● VIN 是电源引脚。您可以将其连接到Arduino的3.3V或5V输出。 ● SCL 是I2C时钟引脚,连接到Arduino的I2C时钟线。 ● SDA 是I2C数据引脚,连接到Arduino的I2C数据线。 ● INT MAX30102可以编程为每个脉冲产生一个中断。这条线是开漏的,所以使用板载电阻拉高。当中断发生时,INT引脚变为低电平并保持低电平,直到中断被清除。 ● IRD MAX30102集成了一个LED驱动器,用于驱动LED脉冲,用于SpO2和HR测量。 ● RD 引脚类似于IRD引脚,但用于驱动红色LED。如果您不想自己驱动红色 LED,请将其悬空。 ● GND 是接地引脚。
将MAX30102模块连接到Arduino 首先将VCC引脚连接到电源,3V-5V就可以了。使用与微控制器逻辑所基于的电压相同的电压。对于大多数 Arduino 来说,这是5V。对于3.3V逻辑器件,使用3.3V。现在将GND连接到公共地。
将SCL引脚连接到Arduino上的I2C时钟引脚,将SDA引脚连接到I2C数据引脚。请注意,每个Arduino开发板都有不同的I2C引脚,应相应地连接。下图显示了接线。
安装库 MAX30102传感器有多个库可用。 然而,在示例中,我们使用的是SparkFun Electronics提供的库。 该库公开了MAX30102的大部分特性,并提供简单易用的函数来计算脉率和SpO2。 您可以从Arduino IDE库管理器中下载此库。
要安装库,请导航到 Sketch > Include Library > Manage Libraries… 等待库管理器下载库索引并更新已安装库的列表。
输入MAX3010x筛选搜索结果。 查找SparkFun MAX3010x Pulse and Proximity Sensor Library。 单击该条目,然后选择安装。
|