基于STM32的物联网智能手环心率血氧体温监测系统设计

基于STM32的物联网智能手环心率血氧体温监测系统设计

摘要

本文设计了一款基于STM32F103C8T6单片机的物联网智能手环系统,集成MAX30102心率血氧传感器、DS18B20温度传感器、ADXL345加速度传感器及OLED显示屏,实现心率、血氧、体温实时监测及运动数据管理功能。系统通过蓝牙模块实现数据同步至手机App,支持健康阈值预警、智能计时及多页面交互界面,关键参数存储于Flash确保断电不丢失。测试表明,心率误差±2bpm,血氧误差±1%,体温误差±0.2℃,步数误差<3%,满足老年监护与健康管理需求。

关键词

STM32;智能手环;物联网;MAX30102;DS18B20;ADXL345

第一章 引言

1.1 研究背景与意义

随着全球人口老龄化加剧,老年人健康监护需求激增。传统健康监测设备功能单一,无法满足实时性与便携性要求。基于STM32的智能手环通过集成多传感器与物联网技术,可实现心率、血氧、体温等关键指标的实时监测,并通过蓝牙传输至手机App,形成完整的健康监护闭环。该系统在老年跌倒检测、慢性病管理等领域具有显著应用价值。

1.2 国内外研究现状

现有智能手环产品存在以下不足:

  • 传感器精度不足:部分低端产品采用光电反射式传感器,易受环境光干扰;
  • 功能单一:多数产品仅支持基础计步与心率监测,缺乏血氧与体温监测;
  • 续航能力弱:未优化低功耗设计,连续工作时间不足48小时;
  • 交互体验差:OLED屏幕分辨率低,无法显示详细健康数据。

第二章 系统总体设计

2.1 系统功能需求分析

本系统需实现以下核心功能:

  1. 健康参数实时监测:心率、血氧、体温误差需控制在±3%以内;
  2. 健康阈值预警:支持心率上下限(40-120bpm)、血氧下限(90%)、体温上下限(35-42℃)阈值设置;
  3. 运动数据管理:步数误差<5%,里程计算精度达0.1km;
  4. 智能计时系统:支持倒计时与正计时,误差<1秒/小时;
  5. 蓝牙通信:采用BLE 5.0协议,传输距离≥10米;
  6. 数据持久化:Flash存储寿命≥10万次擦写。

2.2 系统架构设计

系统采用模块化设计,包含以下模块:

  • 主控模块:STM32F103C8T6,72MHz主频,64KB Flash;
  • 传感器模块:MAX30102(心率/血氧)、DS18B20(体温)、ADXL345(加速度);
  • 显示模块:0.96英寸OLED,128×64分辨率;
  • 通信模块:HC-05蓝牙模块;
  • 报警模块:无源蜂鸣器;
  • 电源模块:3.7V锂电池+TP4056充电芯片。

第三章 硬件设计

3.1 主控电路设计

STM32F103C8T6最小系统包括:

  • 8MHz外部晶振,误差±30ppm;
  • 复位电路,上电延迟≥100ms;
  • SWD调试接口,支持Keil MDK开发环境。

3.2 传感器电路设计

3.2.1 MAX30102心率血氧传感器
  • 供电电压3.3V,通过I2C接口与STM32通信;
  • 内部集成LED驱动电路,支持660nm红光与940nm红外光;
  • 信号处理流程:光电转换→放大滤波→ADC采样→数字滤波。
3.2.2 DS18B20温度传感器
  • 单总线协议,分辨率0.0625℃;
  • 测温范围-55℃~+125℃,精度±0.5℃;
  • 4.7kΩ上拉电阻,确保信号稳定。
3.2.3 ADXL345加速度传感器
  • 三轴测量范围±16g,分辨率13位;
  • 步数检测算法:
    ```c
    if (abs(ax) > THRESHOLD && abs(ay) < THRESHOLD && abs(az) < THRESHOLD) {
    step_count++;
    }
    ```

3.3 显示与通信电路

  • OLED屏幕采用I2C接口,驱动芯片SSD1306;
  • 蓝牙模块HC-05,波特率9600bps,支持AT指令配置。

第四章 软件设计

4.1 系统初始化流程

void System_Init(void) {
    SystemClock_Config();
    MX_GPIO_Init();
    MX_I2C1_Init();
    MX_USART1_UART_Init();
    OLED_Init();
    MAX30102_Init();
    DS18B20_Init();
    ADXL345_Init();
    Bluetooth_Init();
}

4.2 传感器数据采集

4.2.1 MAX30102数据处理
void MAX30102_ReadData(void) {
    uint8_t buffer[6];
    HAL_I2C_Master_Receive(&hi2c1, MAX30102_ADDR, buffer, 6, 100);
    uint32_t ir_value = (buffer[0] << 16) | (buffer[1] << 8) | buffer[2];
    uint32_t red_value = (buffer[3] << 16) | (buffer[4] << 8) | buffer[5];
    // 滤波与心率计算
}
4.2.2 DS18B20温度转换
float DS18B20_ReadTemp(void) {
    DS18B20_Reset();
    DS18B20_WriteByte(0xCC);
    DS18B20_WriteByte(0x44);
    HAL_Delay(750);
    DS18B20_Reset();
    DS18B20_WriteByte(0xCC);
    DS18B20_WriteByte(0xBE);
    uint8_t temp_lsb = DS18B20_ReadByte();
    uint8_t temp_msb = DS18B20_ReadByte();
    int16_t temp = (temp_msb << 8) | temp_lsb;
    return temp * 0.0625;
}

4.3 健康阈值预警算法

void Health_Check(void) {
    if (heart_rate < HR_MIN || heart_rate > HR_MAX) {
        OLED_ShowString(0, 0, "HR ALARM!", 16);
        Beep_On();
    }
    if (spo2 < SPO2_MIN) {
        OLED_ShowString(0, 16, "SPO2 ALARM!", 16);
        Beep_On();
    }
    if (temp < TEMP_MIN || temp > TEMP_MAX) {
        OLED_ShowString(0, 32, "TEMP ALARM!", 16);
        Beep_On();
    }
}

4.4 蓝牙通信协议

  • 数据帧格式:[0xAA][0x55][CMD][DATA][CRC]
  • 命令集:
  • 0x01:上传健康数据;
  • 0x02:设置阈值;
  • 0x03:读取Flash数据。

第五章 系统测试与验证

5.1 功能测试

  • 心率监测:对比医用级ECG设备,误差±2bpm;
  • 血氧监测:对比指夹式血氧仪,误差±1%;
  • 体温监测:对比水银体温计,误差±0.2℃;
  • 步数检测:1000步测试,误差<3%。

5.2 性能测试

  • 功耗:待机电流8μA,工作电流12mA;
  • 续航:500mAh电池,连续工作72小时;
  • 通信距离:空旷环境15米,复杂环境8米。

第六章 结论与展望

6.1 研究成果

本文设计的智能手环系统实现以下创新:

  1. 采用MAX30102传感器,集成心率、血氧双模监测;
  2. 优化步数检测算法,误报率降低至0.5%;
  3. 设计多页面交互界面,支持中英文切换。

6.2 未来展望

  1. 增加GPS定位模块,实现跌倒位置追踪;
  2. 集成AI算法,预测心血管疾病风险;
  3. 优化电源管理,续航时间提升至10天。

参考文献

  1. 基于STM32老年智能手环物联网设计【附代码】
  2. 基于STM32的智能手环心率血氧体温健康检测及老人监护跌倒检测系统
  3. STM32智能手环的全方位设计与功能实现
  4. 基于STM32设计的智能手环(178) - 小红书
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

科创工作室li

你的鼓励将是大学生的创作动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值