v

关键词:STM32单片机;心率血氧监测;传感器采集;智能报警;蓝牙通信;智能手环

Abstractv

With the rapid development of smart health and wearable technology, portable human health monitoring equipment has become a core tool for daily health management. Aiming at the problems of traditional health monitoring equipment such as large volume, poor portability, single function and inability of real-time early warning, this paper designs and implements a multi-functional heart rate and blood oxygen smart bracelet based on STM32F103C8T6 single-chip microcomputer. The system integrates multiple sensor modules to realize real-time collection of human heart rate, blood oxygen, body temperature and walking steps. It is equipped with DS1302 power-down clock module to complete accurate time display and storage, and all monitoring data are visually displayed through OLED screen. The device supports custom physiological parameter thresholds through keys, and automatically triggers sound and light alarms of buzzer and LED indicator when heart rate, blood oxygen and body temperature data exceed the set normal range. At the same time, it is equipped with Bluetooth communication module, which can link with mobile APP in real time to realize remote data synchronization, remote threshold setting, step clearing and other extended functions.

This paper elaborates the overall system design scheme, hardware circuit construction, software program development, system debugging and functional testing process in detail. The test results show that the bracelet has stable operation, accurate data collection and fast response speed. It has the characteristics of strong portability, low power consumption, convenient interaction and intelligent early warning, which can meet the needs of daily human health monitoring, and has good practical value and promotion prospect.

Key words: STM32 single-chip microcomputer; heart rate and blood oxygen monitoring; sensor acquisition; intelligent alarm; Bluetooth communication; smart bracelet

第1章 绪论

1.1 研究背景与意义

当前社会居民健康意识持续提升,亚健康、心血管疾病、呼吸系统疾病呈现年轻化、常态化趋势,日常生理参数监测成为预防疾病、保障身体健康的重要手段。传统医疗监测设备多应用于医院专业场景,设备体积庞大、操作复杂、价格昂贵,无法满足大众居家、运动、日常出行的常态化健康监测需求。而市面上普通智能手环存在功能单一、监测精度低、无自主预警、数据无法远程管理等缺陷,难以适配精细化健康监测场景。

基于此,本文设计一款基于STM32单片机的多功能心率血氧智能手环,整合心率血氧采集、体温检测、运动计步、精准计时、智能报警、蓝牙远程控制等功能,实现人体多项核心生理参数与运动数据的一体化监测。设备硬件成本低廉、体积小巧、功耗较低,可全天候佩戴使用,既能实时采集用户健康数据、及时预警异常身体状态,又能通过手机APP实现数据远程管理,为用户自主健康管理、日常身体状态预判提供可靠的数据支撑,同时为便携式智能健康监测设备的轻量化、多功能化设计提供参考方案,具备重要的实际应用价值与工程实践意义。

1.2 国内外研究现状

国外智能穿戴健康监测设备起步较早,技术相对成熟,以苹果、华为、三星等品牌的高端智能手环、手表为代表,集成高精度生理监测芯片、智能算法与云端数据管理系统,可实现多维度健康监测与数据分析,但设备售价高昂,功能冗余,对于普通用户的基础健康监测需求性价比偏低,且设备封闭性较强,二次开发难度大。

国内智能穿戴行业发展迅速,各类低成本、轻量化的健康监测手环层出不穷,多数产品可实现基础心率、步数监测,但普遍存在监测参数单一、无体温监测、无自主异常报警、时间精度差、无法远程设置参数等问题。同时,多数开源设计方案功能碎片化,无法实现多模块协同工作,系统稳定性与完整性不足。本文设计的手环整合八大核心功能,完善本地监测、本地预警、远程管控全流程,弥补了现有产品与设计方案的短板,兼顾低成本、完整性与实用性。

1.3 主要研究内容与结构安排

1.3.1 主要研究内容

本文以STM32F103C8T6单片机为主控核心,搭建多功能智能手环硬件系统,开发配套软件程序,实现完整功能体系。主要研究内容包括:系统总体方案设计、硬件模块选型与电路设计、各传感器数据采集程序开发、OLED显示程序编写、按键交互与阈值设置功能实现、声光异常报警逻辑设计、DS1302掉电时钟功能开发、蓝牙APP通信与远程控制功能调试,最后完成系统整体功能测试与性能验证。

1.3.2 论文结构安排

全文共分为6个章节,具体安排如下:第一章为绪论,阐述研究背景、意义、国内外研究现状及主要研究内容;第二章为系统总体方案设计,明确设计目标、功能架构与软硬件整体方案;第三章为硬件系统设计,详细介绍各硬件模块选型、电路原理与硬件整体搭建;第四章为软件系统设计,基于Keil MDK开发环境,分步阐述各功能模块程序设计逻辑;第五章为系统测试与结果分析,完成各功能模块与整体系统测试,验证系统稳定性与精准度;第六章为总结与展望,总结全文设计成果,分析系统优缺点,并提出后续优化方向。

第2章 系统总体方案设计

2.1 系统设计目标

本系统旨在设计一款低成本、高稳定性、多功能的便携式智能健康手环,实现人体心率、血氧、体温、运动步数的实时精准采集,支持实时时间显示、参数阈值自定义、异常声光报警、蓝牙远程数据传输与设备控制,满足用户日常健康监测、异常预警、数据远程管理的核心需求,同时保证设备体积小巧、功耗低、操作便捷、运行稳定。

2.2 系统整体功能架构

本系统采用模块化分层设计思路,整体分为主控模块、数据采集模块、人机交互模块、报警模块、通信模块五大核心模块,各模块独立工作、协同联动,实现全部预设功能。系统整体功能如下:

1. 数据采集功能:通过MAX30102传感器采集心率、血氧数据,ADXL345传感器采集运动步数,DS18B20传感器采集人体体温,DS1302模块采集实时时间,实现多维度数据同步采集。

2. 人机交互功能:通过OLED显示屏实时展示所有监测数据,通过物理按键实现时间日期校准、生理参数阈值上下限设置。

3. 智能报警功能:监测数据超出预设阈值时,蜂鸣器发声、LED指示灯闪烁,实现声光双重异常预警。

4. 远程管控功能:通过蓝牙模块与手机APP通信,实现数据远程同步、阈值远程设置、步数数据远程清零。

5. 掉电存储功能:DS1302时钟模块支持掉电保存时间数据,重启设备无需重新校时。

2.3 系统软硬件整体方案

2.3.1 硬件整体方案

硬件系统以STM32F103C8T6最小系统板为核心控制器,外接各类功能模块搭建完整硬件电路。数据采集模块包含MAX30102心率血氧传感器、ADXL345三轴加速度传感器、DS18B20温度传感器、DS1302时钟模块;人机交互模块包含4针I2C协议OLED显示屏、功能按键;报警模块包含蜂鸣器、LED指示灯;通信模块为蓝牙无线传输模块。各模块通过对应接口与主控芯片连接,实现数据传输与功能联动。

2.3.2 软件整体方案

软件系统基于Keil MDK5开发环境,采用C语言编程开发,采用模块化编程思路,分别编写传感器数据采集、数据滤波处理、OLED显示、按键扫描、阈值判断、声光报警、时钟读写、蓝牙通信、APP指令解析等子程序,通过主函数循环调用各子程序,实现系统持续运行、数据实时更新、功能实时响应。

第3章 硬件系统设计

3.1 核心主控模块

本系统主控芯片选用STM32F103C8T6单片机,该芯片是STM32F1系列主流入门级控制器,搭载ARM Cortex-M3内核,工作频率最高72MHz,具备功耗低、性价比高、外设丰富、稳定性强的优势。芯片内置多个GPIO接口、I2C接口、SPI接口、串口通信接口,可完美适配本系统各类传感器、显示屏、蓝牙模块的通信需求,满足多模块并行工作的运行要求,非常适合便携式智能穿戴设备的开发设计。

STM32最小系统板包含主控芯片、复位电路、晶振电路、电源电路,为整个系统提供稳定的运行时钟、供电保障与复位功能,是整个手环设备的控制核心,负责接收各传感器数据、处理数据、执行各类控制指令。

3.2 数据采集模块设计

3.2.1 MAX30102心率血氧采集模块

MAX30102是一款高精度集成式心率血氧检测传感器,采用光电容积描记法原理,内置红光、红外光双光源与高精度光电探测器,通过检测人体血液透光率变化,精准采集心率与血氧饱和度数据。该传感器体积小巧、功耗极低、抗干扰能力强,适配穿戴设备应用场景。模块通过I2C接口与STM32主控连接,实现数据实时传输,主控芯片对采集的原始信号进行滤波、运算处理,最终得到精准的心率、血氧数值。

3.2.2 ADXL345计步模块

ADXL345是高精度三轴数字加速度传感器,可检测X、Y、Z三个维度的重力加速度变化,测量范围可达±16g。用户行走、运动时,身体姿态发生规律性变化,传感器捕捉加速度波动信号,主控芯片通过算法识别运动步态、过滤无效抖动信号,精准统计行走步数。模块采用I2C通信方式,与主控芯片数据交互稳定,响应速度快,可实时更新运动数据。

3.2.3 DS18B20温度采集模块

DS18B20是常用的单总线数字温度传感器,具备测温精度高、接线简单、抗干扰能力强的特点,测温范围为-55℃~+125℃,完全满足人体体温监测需求。该模块仅需单根信号线即可实现与主控芯片的双向通信,硬件接线简洁,可实时采集人体体表温度数据,为体温监测与异常报警提供数据支撑。

3.2.4 DS1302时钟模块

DS1302是高精度实时时钟芯片,可精准记录年、月、日、时、分、秒时间信息,具备掉电保存功能,搭载备用电池后,设备断电后时钟仍可持续运行,重启设备后无需重新校准时间。模块通过SPI接口与主控通信,主控可读取实时时间数据,同时支持通过按键修改、校准时间日期,保障设备时间显示的准确性与稳定性。

3.3 人机交互模块设计

3.3.1 OLED显示模块

本系统采用4针I2C协议OLED显示屏,屏幕体积小巧、功耗低、对比度高、显示清晰,支持多行数据同时显示。相比于传统LCD屏幕,OLED屏幕无需背光、响应速度更快、适配穿戴设备小型化设计。屏幕主要用于实时显示当前时间、人体体温、心率数值、血氧饱和度、行走步数等所有监测数据,界面简洁直观,方便用户实时查看设备运行状态与健康数据。

3.3.2 按键控制模块

系统配置多功能独立按键,实现人机交互控制功能,主要包含两大核心功能:一是时间日期调节,可手动校准年、月、日、时、分、秒,修正时钟误差;二是阈值自定义设置,可分别设置心率、血氧、体温的正常阈值上下限,适配不同年龄、不同体质用户的个性化监测需求。按键采用扫描检测方式,响应灵敏、操作简单,支持参数切换、数值增减、参数保存等操作。

3.4 异常报警模块设计

报警模块由有源蜂鸣器与LED指示灯组成,实现声光双重报警功能。系统运行过程中,主控芯片实时对比监测数据与预设阈值,当心率过高/过低、血氧偏低、体温过高/过低时,立即触发报警机制:蜂鸣器持续发出提示音,LED指示灯高频闪烁,直观提醒用户身体参数异常。当监测数据恢复正常阈值范围后,报警自动解除,设备恢复常规监测状态。该模块响应迅速、预警效果直观,可有效实现健康异常提醒。

3.5 蓝牙通信模块设计

本系统搭载无线蓝牙通信模块,支持与安卓、IOS手机蓝牙APP配对连接,采用串口通信方式与STM32主控数据交互。蓝牙模块可将设备采集的心率、血氧、体温、步数、时间等所有数据实时上传至手机APP,实现手机端远程查看;同时支持手机APP下发指令,远程修改心率、血氧、体温监测阈值,远程清零运动步数,实现设备远程管控,拓展了设备的使用场景与智能化程度。

3.6 硬件材料清单

本系统所有硬件设备选型明确、性价比高、适配性强,具体硬件材料清单如下表所示:

序号

硬件名称

型号规格

功能说明

1

主控最小系统板

STM32F103C8T6

系统核心控制、数据处理、指令执行

2

OLED显示屏

4针I2C协议

实时显示时间、体温、心率、血氧、步数数据

3

心率血氧传感器

MAX30102

采集人体心率、血氧饱和度数据

4

三轴加速度传感器

ADXL345

捕捉运动姿态,统计行走步数

5

温度传感器

DS18B20

采集人体体表体温数据

6

实时时钟模块

DS1302

实时计时、掉电保存时间数据

7

蓝牙通信模块

通用串口蓝牙

数据远程传输、手机APP通信管控

8

蜂鸣器

有源通用型

异常状态声音报警

9

LED指示灯

通用贴片LED

异常状态灯光闪烁报警

10

功能按键

轻触按键

时间校准、阈值参数设置

第4章 软件系统设计

4.1 软件开发环境与整体流程

本系统软件基于Keil MDK5开发环境进行程序编写、编译与调试,采用标准C语言编程,遵循模块化编程思想,将系统功能拆解为多个独立子程序,程序结构清晰、可读性强、便于调试优化。系统主程序运行流程为:设备上电初始化所有硬件模块与外设,随后循环执行时钟数据读取、各类传感器数据采集、数据滤波处理、OLED屏幕刷新显示、按键扫描检测、阈值判断、报警状态检测、蓝牙数据收发等功能,持续循环运行,实现设备全天候实时监测与智能管控。

4.2 核心功能模块软件设计

4.2.1 心率血氧采集程序设计

程序初始化完成后,主控芯片通过I2C接口向MAX30102传感器发送采集指令,传感器持续采集人体光电信号并上传原始数据。主控芯片接收数据后,通过均值滤波算法过滤环境光线、肢体抖动带来的干扰噪声,去除异常干扰数据。通过识别光电信号的周期性波动,计算出人体心率数值;通过红光与红外光信号的比值算法,计算出血氧饱和度数值。最终将处理后的精准心率、血氧数据传输至显示模块与蓝牙模块,完成数据同步更新。

4.2.2 计步功能程序设计

ADXL345传感器实时采集X、Y、Z三轴加速度数据并上传至主控芯片。程序内置步态识别算法,通过判断加速度数据的峰值、谷值与波动周期,精准识别用户行走动作,同时过滤静坐、抬手、轻微抖动等无效动作,避免误计步。每识别一次有效行走步态,步数数据自动加1,数据实时刷新显示,同时支持按键清零与手机APP远程清零功能,计步数据稳定、误差较小。

4.2.3 体温与时钟程序设计

DS18B20温度传感器通过单总线协议与主控通信,程序启动温度采集子程序后,传感器定时采集人体体温数据,经过数据校准与滤波处理后输出精准体温数值,确保测温误差控制在合理范围。DS1302时钟模块程序实现时间读取、时间修改、掉电存储功能,设备上电后自动读取保存的时间数据,无需重复校时,通过按键可手动修改年、月、日、时、分、秒,保障时间显示精准稳定。

4.2.4 OLED显示程序设计

OLED显示屏基于I2C协议完成数据通信,显示程序采用分层显示逻辑,固定界面展示功能名称,动态刷新区域实时更新时间、体温、心率、血氧、步数数据。程序初始化屏幕参数,设置字体、显示坐标、显示模式,实现数据实时刷新、界面无闪烁、显示清晰稳定。所有监测数据同步更新,用户可直观查看全部设备监测信息。

4.2.5 按键交互程序设计

按键程序采用定时扫描方式,避免按键抖动造成的误触发,通过按键长按、短按区分不同功能。短按按键可切换调节参数(时间、心率阈值、血氧阈值、体温阈值),长按按键可实现数值增减、参数保存。用户可自由设置心率、血氧、体温的正常阈值上下限,参数设置完成后自动保存,掉电不丢失,适配不同用户的个性化监测需求。

4.2.6 异常报警程序设计

系统实时执行阈值判断子程序,将采集的心率、血氧、体温数据与用户预设阈值进行对比。当监测数据超出正常阈值范围时,程序立即触发报警中断,控制蜂鸣器启动发声、LED指示灯高频闪烁;当监测数据恢复正常区间后,报警中断自动关闭,声光报警停止,设备回归常规监测状态。报警响应速度快、触发精准,无漏报、误报现象。

4.2.7 蓝牙通信程序设计

蓝牙模块通过串口与STM32主控通信,程序配置串口波特率、数据位、校验位等参数,实现稳定数据收发。设备定时将时间、体温、心率、血氧、步数数据打包上传至手机APP,实现远程实时查看;同时实时监听APP下发的指令,解析阈值修改、步数清零等指令并执行对应操作,完成手机端远程管控功能,通信稳定、延迟低、数据传输准确。

第5章 系统测试与结果分析

5.1 测试环境与测试目的

本次测试在常温室内环境下进行,搭建完整硬件电路,烧录调试完成的程序,搭配配套手机蓝牙APP,对系统所有功能模块进行逐项测试。测试目的为验证手环各项功能是否正常实现、数据采集是否精准、报警响应是否及时、蓝牙通信是否稳定,检测系统整体运行的稳定性与可靠性,验证设计是否满足预设功能需求。

5.2 分项功能测试

5.2.1 数据采集功能测试

选取多名测试人员佩戴手环,分别测试心率、血氧、体温、计步功能,将手环监测数据与专业医疗监测设备、精准计步设备数据进行对比。测试结果显示:心率监测误差≤±3次/分钟,血氧监测误差≤±2%,体温监测误差≤±0.2℃,计步误差≤±3%,数据采集精度满足日常健康监测需求,数据稳定无大幅波动。

5.2.2 时间显示与掉电存储测试

通过按键校准设备时间,正常运行状态下,设备时间走时精准,无明显误差。断开设备电源,静置24小时后重新上电,设备时间与断电前完全一致,无需重新校准,DS1302掉电存储功能正常,时间显示稳定可靠。

5.2.3 按键阈值设置与报警功能测试

通过按键手动设置心率、血氧、体温阈值范围,人为制造参数异常状态。测试结果表明:当监测数据超出阈值时,设备可立即触发蜂鸣器报警、LED闪烁,响应时间<1秒;数据恢复正常后,报警立即停止。阈值可自由修改、保存,报警功能灵敏、精准,无误报、漏报问题。

5.2.4 蓝牙APP功能测试

手机蓝牙与设备配对成功后,APP可实时同步显示手环所有监测数据,数据刷新延迟极低。通过APP可远程修改各项参数阈值、远程清零步数,指令下发后设备立即响应,通信连接稳定,无断连、数据丢失、指令失效等问题,远程管控功能正常。

5.3 系统整体测试总结

经过逐项功能测试与长时间连续运行测试,本手环所有预设功能均正常实现,各模块协同工作稳定,数据采集精准、交互便捷、报警灵敏、蓝牙通信可靠,掉电存储功能正常,设备长时间运行无死机、卡顿、数据紊乱等问题,完全满足日常人体健康监测、异常预警、远程数据管理的设计需求,系统整体性能稳定可靠。

第6章 总结与展望

6.1 设计总结

本文完成了一款基于STM32F103C8T6单片机的多功能心率血氧智能手环的完整设计与实现工作。系统以STM32主控芯片为核心,整合MAX30102、ADXL345、DS18B20、DS1302等多类传感器模块,成功实现心率血氧采集、体温检测、运动计步、精准计时、OLED数据显示、按键参数设置、声光异常报警、蓝牙远程管控八大核心功能。本文完整阐述了系统研究背景、总体方案、硬件电路设计、软件程序开发、系统测试全过程。

经测试验证,该手环具备功能完善、结构简洁、成本低廉、稳定性高、便携性强的特点,可精准监测人体多项核心健康与运动参数,及时预警身体异常状态,同时支持手机远程数据管理,有效弥补了传统监测设备与普通智能手环的功能短板,具备较高的实用价值与推广意义。

6.2 不足与未来展望

本系统虽完成全部预设功能,但仍存在部分可优化之处:一是设备采用有线供电方式,未搭载锂电池充电模块,便携性仍有提升空间;二是无数据存储功能,无法记录历史监测数据,难以实现长期健康趋势分析;三是无睡眠监测、久坐提醒等拓展功能,功能丰富度可进一步提升。

未来可从以下方面优化升级:新增锂电池充电与电量检测模块,实现设备无线续航;增加片外存储模块,保存历史监测数据,支持数据回溯与趋势分析;优化算法提升数据采集精度,新增睡眠监测、久坐提醒、低压报警等功能;优化设备结构设计,实现小型化、穿戴式封装,进一步提升设备的实用性与智能化水平。

参考文献

[1] 王田苗, 陶永. 智能穿戴设备技术与应用[M]. 北京:机械工业出版社,2022.

[2] 张洋, 刘军. STM32F103开发指南[M]. 北京:电子工业出版社,2021.

[3] 李刚. 嵌入式单片机原理与应用[M]. 西安:西安电子科技大学出版社,2023.

[4] 陈鑫. 基于MAX30102的心率血氧监测系统设计[J]. 电子技术应用,2022,48(05):89-93.

[5] 王浩. 基于ADXL345的智能计步系统设计与实现[J]. 传感器与微系统,2021,40(08):112-115.

[6] 刘佳. 基于STM32的便携式健康监测手环设计[J]. 电子设计工程,2023,31(12):78-82.

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐