首页 动态 版块 商城 我的
 退出
游客  
等级:
金币:
经验值:

GY-MAX30100心跳心率脉搏血氧浓度检测传感器模块Python/C++编程树莓派与ESP32例程

  48 
 0
 3
RASPI   ydxhuo.com 
文章主图

一:心率传感器介绍

MAX30100 是由 Maxim Integrated公司推出的一款集成式心率与脉搏血氧检测(PPG)传感器方案。它将发光 LED、光电探测器、光学滤波器件以及低噪声模拟前端电路集成在极小的封装中,广泛应用于智能穿戴、健康监测设备及创客开发项目中。


1.技术参数

工作电压:3.3v~5v

工作功耗:约 600 µA ~ 1.2 mA(受采样率和脉宽影响)

待机功耗:0.7 µA

发射光源:红光 LED峰值波长660nm / 红外 LED峰值波长880nm

LED电流:0 mA ~ 50 mA

ADC分辨率:模拟数字转换器14 位 ~ 16 位 可编程分辨率

采样频率:50 Hz ~ 1000 Hz 可配置

通信接口:I2C快速模式

温度范围:-40°C ~ +85°C

2.工作原理

1.MAX30100 基于光电容积脉搏波描记法(PPG, Photoplethysmography)

血管搏动与吸收:心脏跳动时,外周毛细血管内血液容积发生搏动性变化,透射或反射的光信号随之呈周期性波动,用于提取心率(Heart Rate)。


2.双波长含氧量差异:

含氧血红蛋白 ($HbO_2$) 对 红外光 (880 nm) 吸收较多,对 红光 (660 nm) 吸收较少。

脱氧血红蛋白 ($Hb$) 对 红光 (660 nm) 吸收较多,对 红外光 (880 nm) 吸收较少。

计算公式:传感器内部交替点亮红光和红外 LED,接收端采集两者的交流成分(AC)与直流成分(DC),通过以下比值结合经验校准曲线计算出血氧饱和度(SpO2)。


二:树莓派例程

1.Pico接线图

本次以树莓派Pico主板为例按,按下图接好连接线,务必注意不可接反,默认接3.3V供电,千万不能接5v供电,否则会烧毁设备


Image

2.Python程序

MAX3000 下载这个源代码直接上传到树莓派Pico文件内,运行程序后将手指按住传感器红色灯,查看检测数据(如下图) 


Image




三:ESP32例程


1.ESP32接线图

本次以ESP32-S3主板为例按下图接好连接线,务必注意不可接反,否则会烧毁设备

Image


2.C++程序

1.需要在Arduino IDE中点击左侧栏的 库管理器(Library Manager)(或按 Ctrl + Shift + I),搜索并安装以下依赖库:

MAX30100lib

MAX30100 下载这个源代码直接用Arduino IDE编译上传程序打开串口监视查看,用手指按住模块上LED灯观察测量数据(如下图) 


Image


3.代码解析逻辑

这份代码的核心逻辑非常精简,主要分为以下 4 个关键部分:

1. 引脚初始化 (Wire.begin):ESP32-S3 支持任意引脚作为 $I^2C$ 通信口,通过 Wire.begin(8, 9) 将硬件数据线绑定为 SDA = GPIO 8,SCL = GPIO 9。


2. 传感器参数配置 (setup)pox.begin():向 MAX30100 发送配置指令,初始化芯片内部的 ADC 采样率和脉宽寄存器。setIRLedCurrent():设置发射端红外 LED 的驱动电流(11 mA),控制光线穿透手指毛细血管的强度。setOnBeatDetectedCallback():注册一个心跳事件函数,一旦算法检测到脉搏波峰值,自动触发打印“♥ 脉搏跳动”。


3. 高频数据采集与滤波 (pox.update())

核心轮询:pox.update() 必须在 loop() 中以极高频率不断被执行。

内部处理:它负责从 MAX30100 的 FIFO 队列中读取红光/红外原始透光强度,并通过内置的直流滤除算法(DC Filter)和低通平滑滤波提取出微弱的脉搏波动信号。


4. 非阻塞式周期输出 (millis())

避免使用 delay():由于脉搏波采样需要连续性,使用 millis() - tsLastReport > 1000 实现了非阻塞定时器。

获取指标:每隔 1 秒调用 pox.getHeartRate()(计算脉搏频率 BPM)和 pox.getSpO2()(计算红光/红外交流成分比值估算的血氧饱和度百分比)并输出到串口。



作者签名: www.ydxhuo.com   楼主  2026-08-13 21:40:16
回复列表
Powered by YDXHUO _VERSION
© 2017-2026 跃动芯火版权
您的IP: 10.1.94.54 , 2026-08-16 17:41:13
Powered by YDXHUO _VERSION
© 2017-2026 跃动芯火版权
(3) 分享
分享

请保存二维码或复制链接进行分享

取消
免责声明
1、本站资源,均来自网络与个人作者,所有资源和文章仅限用于学习和研究目的 。
2、不得用于商业或非法用途,否则,一切责任由该用户承担 !

侵权删除请致信 E-Mail:ydxho@qq.com
已有0次打赏