基于STM32 的智能健康手环设计与实现

2024-01-17 13:43郭子琦
科技创新与应用 2024年2期
关键词:步数手环按键

郭子琦

(杭州电子科技大学 信息工程学院,杭州 311305)

目前在人们关注养生的大背景下,智能穿戴类设备将大有可为,其便捷小巧的外观和让人眼前一亮的感觉,引起大量消费者的关注。如已经上市的苹果公司的IWATCH、小米公司的智能手环以及华为公司的HUAWEI WATCH,都是消费者喜爱的产品。由于智能穿戴设备在健康和医疗监测方面具有极大的优势,得到消费者和业内人士的肯定。智能穿戴设备将是消费电子产业下一步发展方向。智能端口真正进入与人体相互连接的新时代。

1 设计系统的功能要求与系统组成

1.1 设计系统的功能

智能手环是一种时尚的穿戴式智能设备,具有计步和测量距离、卡路里等基本功能,还具有活动、锻炼、睡眠等模式,可以记录营养情况,拥有智能闹钟、健康提醒等功能[1]。

智能手环应用在医疗方面,不仅可以节省人力物力还可为医疗人员节省大量时间。病患戴上手环可通过手环检测身体状况,免去了医生每天查房的繁琐工作[2]。同时,一般病患可不用住院,回家也可以监测身体情况,离开医院压抑的环境,不仅有利于病人病情的恢复还为家人减轻经济负担,智能手环产品对人们的生活产生了深刻的影响[3]。将智能手环加入到医学应用市场不仅可以大大节约人力物力还可以开拓更广的医学市场[4]。总之,本设计系统功能是为了正确和及时地监测使用者的健康数据,并进行存储。

1.2 系统组成

本系统结构主要为软硬件2 个结构组成。硬件结构包含STM32F103C8T6、MAX30102 心律采集芯片、ADXL345 步数采集芯片、MLX90615 温度传感器、OLED 液晶显示以及蜂鸣器等模块。该系统工作原理是:通过软件编程,实现各个模块数据采集。然后,系统通过指定的算法对上述采集的数据进行处理和分析,得到具体的温度值、心率值和行走步数,并通过OLED模块进行显示,配有4 个按键设置显示时间和测量参数的范围。

2 总体设计

个人健康助手是一种采集步数、监测心率、测量体温、显示当前时间,超出正常范围报警的系统。其分为一个个具体的模块,分别是STM32 主控器,该芯片负责接收信息并进行处理加工;MAX30102 芯片负责采集心率并将数据传送给主控器;按键模块,按键一是设置,按键二是加,按键三是减,按键四是步数清零;DS1302 时钟显示芯片,负责显示当前时间并具有掉电行走的功能;MLX90615 负责采集当前温度并将数据传送给STM32;ADXL345 计步芯片,负责采集使用者当前行走步数并将数据传送给STM32;蜂鸣器声光报警模块,在接收的数据超出设定的正常范围内,负责进行报警提示;OLED 液晶显示模块,负责接收STM32 发送的指令并显示当前时间、温度、步数、心率。

个人健康助手系统结构的组成框图如图1 所示,该系统包括STM32 数据处理、心率采集、按键设置、时钟显示、温度采集、液晶显示、计步和声光报警8 个部分。

图1 系统总体结构框图

3 硬件设计

3.1 主控器选择

本系统选用STM32F103C8T6 作为主控器芯片。STM32F103C8T6 是一款基于ARM 32 位的CortextM3内核的单片机,具有成本低、速度快、性价比高等优点[5]。最小单片机系统就是让单片机能正常工作并发挥其功能时所必须的组成部分,也可理解为是用最少元件组成的可以完成最基本工作的单片机系统[6]。本设计采用了基于STM32F103C8T6 的最小系统板,包括微控制器、晶体振荡电路和复位电路。

3.2 温度传感器选择

本系统选用数字式红外温度传感器MLX90615。该器件的优点是:反应快、准度高、安全、不直接接触、可在动态中完成测量和不影响温度场的分布等。

3.3 心率监测仪选择

本系统选用MAX30102。优点是小巧,价格低廉,普遍实用,可佩戴于手指、耳垂和手腕等处。测心率原理为采用PPG 光电容积脉搏波描记法,内置的微控制器对测量数据进行处理运算后得到心率血氧数值。系统的心率传感器MAX30102 为MAXIM 公司2016 年推出的专为可穿戴设备设计开发的血氧饱和度和心率监测传感器,集光源、接收、滤波和数字化为一体[7]。一个标准的I2C 兼容的通信接口可以将收集到的用于心率计算的心率值传输给STM32 微控制器。内置的玻璃罩有效地消除了外部和内部的光线干扰,具有非常可靠的性能。如图2 所示。

3.4 监测步数传感器选择

ADXL345 工作原理为当加速度曲线跨过动态阀值的上下限时判断迈出步子。三轴加速度同时检测,加速度变化最大的轴的方向就是当前运动方向。本设计选用该传感器,能够实时监测人的运动信息,ADXL345小巧轻薄且省电,高分辨率,可通过I2C 数字接口进行访问,非常适合个人健康手环这种小巧便携的设备使用,如图3 所示。

图3 ADXL345 芯片

3.5 显示模块选择

本系统使用OLED 显示屏。它是以发光的有机半导体为基础,工作原理是有机半导体和发光材料在复杂的电场驱动下,进行载流子注入和发射。OLED 显示器具有柔韧、低功耗和宽屏幕视角的优点。

3.6 时钟模块

本设计选用DS1302 作为时钟模块,该时钟模块自带RAM,使用方便,接线简单,可以对年、月、日、分、秒计时,具有闰年补偿功能。特别适合作为健康智能手环的时间显示模块,实时告知使用者当前时间,可以作为计量跑步、行走时间的工具。

4 软件设计及实现

4.1 软件选择及工作流程

系统程序部分由Keil5 撰写。该系统接通电源时,MLX90615 测量人体温度并将数据发送到主控器芯片,处理后单片机将数据发送到显示模块以显示。当人行走时,ADXL345 计步并将数据发给单片机,计算后将数据传到OLED。当人将手指放在MAX30102 脉搏测量模块上时,该模块将测量心率并将数据发送给单片机,单片机计算处理后将数据传输给OLED 显示模块显示,并且所有数据会实时更新。具体工作流程如图4 所示。

图4 程序流程图

4.2 软件功能实现

时钟功能实现。DS1302 时钟内部有年、月、周、日、时、分、秒寄存器,并且带有闰年补偿的功能,负责记录当前时间并将数据发送给STM32 主控器,并且有掉电行走的功能。

按键功能实现。在本设计中,将有4 个按键来调控OLED 显示模块的显示内容,按键一负责设置选择要调控的选项,按键二负责加,按键三负责减,按键四负责步数清零。

测温功能实现。本设计采用MLX90615 作为温度传感器来检测人体或环境温度,使用时贴近人体部位,本系统会接收测量数据并进行计算处理后发送给OLED 模块进行显示。

监测心率功能实现。本设计使用MAX30102 芯片来收集人的心跳数据,该模块使用IIC 进行通信,数据传输引脚必须首先放在程序中并单独放置,然后进行初始化。计算心率时,工作原理基于血红蛋白的吸收光谱特性,通过发射红光LED 和红外LED,在皮肤表面形成一个红光和红外线交替的光源,并通过光电二极管采集皮肤反射的光信号,随后通过前段放大电路和数字信号处理电路处理获得的信号。

5 硬件测试

5.1 数据测试

经过10 组测试,得测试数据见表1。如第1 次测试,实际步数为114 步,监测步数为112 步,实际体温为36.7℃,测量体温为36.3 ℃,实际心率为76 次/min,测量心率为80 次/min,测量准确度为97.30%。各项数据平均值均精确到小数点后两位。在测量过程中,各项测量数据由本系统得出,而实际体温使用医用水银温度计测量所得,实际心率数据使用小米通讯技术有限公司的型号为M2102J2SC 的设备测量所得。总准确度为步数、体温、心率各自准确度取平均所得。经过10 组测试对比数据,并求出各项数据平均值进行对比分析,计算得出最终平均准确度为96.67%,本系统测量准确度较高。

表1 数据测试表

从表1 中可以得出,本系统测量精度较高并且可以同时测量多项指标,弥补了传统的体温计和心率测量仪测量指标单一的缺点。

5.2 实物报警测试

在实际使用过程中,当测量数据超出本系统所设置的正常范围时,异常的参数会在OLED 显示屏上闪烁提醒使用者,LED 灯会进行闪烁报警,蜂鸣器会进行发声报警提示。起到实时提醒使用者关注自身健康数据的作用,待到各项健康数据都回到系统设定的正常范围时,自动停止声光报警和OLED 显示屏闪烁提醒。

6 结束语

本智能健康手环系统以STM32 为核心,结合MLX90615、DS1302、OLED 显示模块、MAX30102、ADXL345,形成了一套准确有效的智能健康监测系统,具有操作简便、抗干扰能力强、实时显示当前时间和准确测量各项数据等优点。在日常生活中,实时向使用者提供个人健康指数,并提醒人们关注自身健康状况,必要时及时就医。

在当下这个智能化迅速发展的时代,智能健康手环的应用前景广泛,该系统小巧便携,稳定性强,成本低廉,具有很强的市场竞争力和应用前景。

猜你喜欢
步数手环按键
爱心手环
基于有限状态机的按键检测程序设计
楚国的探索之旅
微信运动步数识人指南
国人运动偏爱健走
一种多方向导光按键结构设计
红手环志愿者服务团欢迎您的加入
学习监测手环
麦开:放弃智能手环
按键的多种状态检测及消抖处理方法