亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Arduino 血氧与体温双参数监测仪:MAX30102 + MLX90614 方案

项目概述

本项目基于 Arduino UNO,集成 MAX30102 反射式心率/血氧传感器与 GY-906 (MLX90614) 非接触红外测温模块,实现血氧饱和度 (SpO₂) 与体温同步监测。测量值实时显示于 20×4 I2C LCD,并通过红绿双色 LED 指示健康状态:SpO₂ ≥ 90% 且体温 < 38℃ 绿灯亮,否则红灯报警。代码采用低通滤波算法计算 SpO₂,支持 EEPROM 存储历史读数,适合家庭健康监护、教学演示或二次开发。

所需组件与物料

硬件接线指南

I2C 总线共享

MAX30102 与 MLX90614 均为 I2C 设备,并联在 Arduino A4 (SDA) 与 A5 (SCL) 上。需在 SDA/SCL 至 5V 间各接 4.7kΩ 上拉电阻(模块板载可能已含,建议测量确认)。

引脚分配表

核心算法与代码逻辑

SpO₂ 计算流程

  1. 原始数据采集:MAX30102 配置为高精度模式 (采样率 200Hz, 脉宽 411μs, ADC 16384, LED 电流 0x7F),通过 FIFO 读取红光 (Red) 与红外光 (IR) 原始值。
  2. 低通滤波去基线:avered = avered * frate + red * (1-frate),frate=0.95 提取交流分量。
  3. RMS 计算:累积 100 个样本的交流分量平方和 sumredrms、sumirrms。
  4. 比率 R 计算:R = (sqrt(sumredrms)/avered) / (sqrt(sumirrms)/aveir)。
  5. 经验公式换算:SpO2 = -23.3 * (R - 0.4) + 100 (参考 Microchip AN1525B)。
  6. 二阶低通平滑:ESpO2 = FSpO2 * ESpO2 + (1-FSpO2) * SpO2,FSpO2=0.7。

体温读取

MLX90614 通过 Adafruit_MLX90614 库直接读取物体温度 (℃),无需接触,响应快、精度 ±0.5℃。

手指检测与报警逻辑

EEPROM 存储方案

地址 0~3 存储浮点型 ESpO2 (4 字节),地址 6 存储整型 Temperature (1 字节)。提供 writeEEPROM() 与 readEEPROM() 封装函数,掉电保持上次有效读数。

软件库依赖

使用注意事项

项目文件

典型应用场景

制造工艺

  1. 树莓派对接HDC2010:I²C温湿度传感器完整接线与编程指南
  2. 树莓派+$5 I²C传感器打造温度记录仪
  3. 树莓派与 Python 构建远程温度传感器:分步实战指南
  4. 树莓派多传感器温度光照监测系统:DS18B20 实战构建
  5. 树莓派 + MCP9808 + InfluxDB + Grafana:家庭温度监测系统
  6. 验证并校准湿度传感器以实现精准测量
  7. 树莓派与Arduino协作构建机器人:分步指南
  8. 在SolidWorks中创建渐进剖视动画:分步教程
  9. 高精度轴承温度传感器:原理、安装与SKF PT100选型指南
  10. DS18B20温度传感器:精准1-Wire数字温度计,工业与消费级首选
  11. 注塑模具设计与制造专家指南
  12. 玻璃纤维生产全流程指南

模块引脚Arduino 引脚备注
MAX30102 VCC5V工作电压 3.3V~5V,板载 LDO
MAX30102 GNDGND
MAX30102 SDAA4共享 I2C
MAX30102 SCLA5共享 I2C
MLX90614 VCC5V
MLX90614 GNDGND
MLX90614 SDAA4共享 I2C
MLX90614 SCLA5共享 I2C
绿色 LED 阳极D8串联 220Ω 至 GND
红色 LED 阳极D9串联 220Ω 至 GND