楊凱 王潤(rùn)修 倪笑宇 吉高卿
基金項(xiàng)目:2023年度河北省體育科技研究項(xiàng)目;項(xiàng)目名稱(chēng):基于云計(jì)算的國(guó)民體質(zhì)監(jiān)測(cè)系統(tǒng)的研究;項(xiàng)目編號(hào):2023QT15。項(xiàng)目名稱(chēng):新業(yè)態(tài)背景下我省電競(jìng)產(chǎn)業(yè)發(fā)展對(duì)策研究;項(xiàng)目編號(hào):2023CY13。2019年張家口市科技局科研項(xiàng)目;項(xiàng)目名稱(chēng):基于大數(shù)據(jù)的智能交通控制系統(tǒng);項(xiàng)目編號(hào):1911002B。
作者簡(jiǎn)介:楊凱(1987— ),男,湖北黃岡人,助教,碩士;研究方向:電子信息。
*通信作者:吉高卿(1987— ),男,河北張家口人,講師,碩士;研究方向:大數(shù)據(jù)。
摘要:由于人們生活節(jié)奏的加快和生活壓力的增大,人體體質(zhì)健康越來(lái)越受到重視。為了使人們更為直觀地關(guān)注自身的體質(zhì)健康,文章設(shè)計(jì)了一款基于STM32單片機(jī)的人體體質(zhì)監(jiān)測(cè)系統(tǒng)。系統(tǒng)以STM32單片機(jī)作為主控制模塊,通過(guò)血氧傳感器模塊、脈搏心率測(cè)量模塊、體溫測(cè)量模塊,分別對(duì)心率、血氧、體溫等人體體質(zhì)參數(shù)進(jìn)行監(jiān)測(cè),并通過(guò)藍(lán)牙模塊實(shí)現(xiàn)無(wú)線傳輸功能,將測(cè)量的數(shù)據(jù)傳送到手機(jī)上。利用該系統(tǒng),用戶(hù)既可以在液晶顯示屏上查看體質(zhì)數(shù)據(jù),也可以在手機(jī)App上了解到自身的體質(zhì)參數(shù)。經(jīng)實(shí)驗(yàn)測(cè)試,該系統(tǒng)運(yùn)行平穩(wěn)、工作正常,符合設(shè)計(jì)要求。
關(guān)鍵詞:人體體質(zhì);STM32;傳感模塊;血氧
中圖分類(lèi)號(hào):TP31? 文獻(xiàn)標(biāo)志碼:A
0? 引言
目前,我國(guó)經(jīng)濟(jì)快速發(fā)展,但人口老齡化問(wèn)題化日趨嚴(yán)重[1]。在我國(guó)人民生活水平不斷提升的同時(shí),生活壓力也變得越來(lái)越大,由于錯(cuò)誤的飲食習(xí)慣和較少的運(yùn)動(dòng),導(dǎo)致人們的健康問(wèn)題與日俱增[2]。在現(xiàn)實(shí)生活中,還存在醫(yī)療資源匱乏、少部分人支付不起昂貴的醫(yī)療費(fèi)用、就醫(yī)不及時(shí)等一系列問(wèn)題[3]。
人體體質(zhì)監(jiān)測(cè)是醫(yī)療健康領(lǐng)域的一個(gè)新興研究方向,隨著社會(huì)對(duì)健康生活的重視和人民對(duì)疾病預(yù)防意識(shí)的提高,越來(lái)越多的人開(kāi)始關(guān)注自身的體質(zhì)與潛在健康風(fēng)險(xiǎn),以上因素推動(dòng)了體質(zhì)監(jiān)測(cè)技術(shù)的快速發(fā)展[4]。人體體質(zhì)監(jiān)測(cè)系統(tǒng)可以實(shí)現(xiàn)關(guān)鍵生理參數(shù)的實(shí)時(shí)采集與數(shù)據(jù)分析,對(duì)個(gè)體體質(zhì)特征及疾病發(fā)病風(fēng)險(xiǎn)進(jìn)行評(píng)估,能夠有效幫助人們做到早發(fā)現(xiàn)、早預(yù)防、早治療[5]。
1? 系統(tǒng)硬件設(shè)計(jì)
本文設(shè)計(jì)的人體體質(zhì)監(jiān)測(cè)系統(tǒng)硬件組成,如圖1所示。系統(tǒng)主要由主控制器、溫度采集模塊、心率與血氧采集模塊、顯示模塊、藍(lán)牙模塊等構(gòu)成,不僅可以實(shí)現(xiàn)對(duì)體溫、心率、血氧等數(shù)據(jù)的實(shí)時(shí)監(jiān)測(cè),還可以將數(shù)據(jù)通過(guò)藍(lán)牙模塊發(fā)送到手機(jī)等設(shè)備。
本文設(shè)計(jì)的人體體質(zhì)監(jiān)測(cè)系統(tǒng)中,主控制器的作用是對(duì)系統(tǒng)各個(gè)組成模塊進(jìn)行總體控制;溫度采集模塊的作用是利用溫度傳感器,對(duì)人體體溫等數(shù)據(jù)進(jìn)行采集;心率和血氧采集模塊的作用是利用相關(guān)傳感器,對(duì)人體心率和血氧等體質(zhì)數(shù)據(jù)進(jìn)行采集;藍(lán)牙模塊的作用是利用藍(lán)牙芯片,對(duì)已經(jīng)獲得的人體體質(zhì)數(shù)據(jù)進(jìn)行發(fā)送,使用戶(hù)在手機(jī)端也可以查看自身的體質(zhì)數(shù)據(jù)。
1.1? 主控制器模塊
系統(tǒng)采用STM32F103c8t6作為主控制器,它是ST公司STM32系列32位ARM Cortex-M3內(nèi)核微控制器的一款產(chǎn)品,屬于STM32主流系列入門(mén)級(jí)產(chǎn)品,芯片采用高性能的ARM內(nèi)核,內(nèi)置豐富的外設(shè)和接口,擁有軟硬件資源豐富的生態(tài)系統(tǒng)[6]。
該芯片內(nèi)置了64 KB閃存、20 KB SRAM以及多個(gè)通信接口,如USART、SPI、I2C和CAN等,還有豐富的外圍設(shè)備,如ADC/DAC、定時(shí)器和PWM等。此外,它還支持多種電源模式,包括低功耗、停機(jī)、待機(jī)和休眠等,適用于多種應(yīng)用領(lǐng)域,如工業(yè)控制、汽車(chē)電子、家電控制等[7]。
1.2? 溫度采集模塊
系統(tǒng)選用DS18B20作為溫度傳感器,DS18B20數(shù)字溫度傳感器由Dallas半導(dǎo)體公司(現(xiàn)Maxim Integrated)開(kāi)發(fā)制造[8]。芯片采用單總線接口,通信方式簡(jiǎn)單,連接方便,只需要一條數(shù)據(jù)線即可與微控制器連接實(shí)現(xiàn)溫度數(shù)據(jù)的讀取。
DS18B20具有以下特點(diǎn):(1)測(cè)量結(jié)果精度較高。DS18B20提供的溫度測(cè)量范圍是-10~85 ℃精度為±0.5 ℃。這使得它非常適合需要準(zhǔn)確溫度測(cè)量的應(yīng)用。(2)芯片采用單線連接。DS18B20傳感器使用單一的數(shù)據(jù)線進(jìn)行通信,這使得它在布線和連接方面非常方便,只需使用一個(gè)引腳就可以進(jìn)行數(shù)據(jù)傳輸和供電。(3)芯片的功耗較低。DS18B20在進(jìn)行溫度測(cè)量和通信時(shí)消耗的功率非常低,這使得它非常適合用于低功耗和電池供電的應(yīng)用場(chǎng)景。(4)芯片采用多種封裝形式。DS18B20傳感器提供了不同的封裝選項(xiàng),包括TO-92、TO-220、SOT-223等,以適應(yīng)不同的應(yīng)用需求。
1.3? 心率與血氧采集模塊
心率與血氧數(shù)據(jù)的采集模塊采用的是MAX30102芯片。該芯片是Maxim Integrated公司推出的一款可穿戴生物傳感器。它是一種集成了紅外(IR)和可見(jiàn)光(Visible Light)LED發(fā)光器、光電傳感器和數(shù)字信號(hào)處理電路的高度集成脈搏氧合儀和心率監(jiān)測(cè)模塊。芯片利用反射式光譜測(cè)量技術(shù),通過(guò)測(cè)量光線在皮膚上的反射率和吸收率,來(lái)獲取血氧飽和度(SpO2)和心率等人體體質(zhì)數(shù)據(jù)。該芯片的主要特點(diǎn)和功能:(1)芯片采用雙波長(zhǎng)測(cè)量。MAX30102集成了紅外(IR)和可見(jiàn)光(Visible Light)LED發(fā)光器,可同時(shí)進(jìn)行雙波長(zhǎng)的光譜測(cè)量。這使得它能夠有效地消除來(lái)自皮膚顏色和環(huán)境光的影響,確保血氧飽和度和心率測(cè)量的準(zhǔn)確度。(2)芯片具有靈敏的光電傳感器。MAX30102內(nèi)置高靈敏度的光電傳感器,能夠檢測(cè)微弱的光信號(hào),并將其轉(zhuǎn)換為電信號(hào)進(jìn)行處理。(3)芯片具有靈活的數(shù)據(jù)接口。MAX30102通過(guò)I2C(Inter-Integrated Circuit)總線接口與主控制器進(jìn)行通信。它提供了多個(gè)配置寄存器,可以調(diào)整采樣速率、工作模式、閾值設(shè)置等參數(shù),以滿(mǎn)足不同應(yīng)用的需求。(4)洗牌具有低功耗模式。AX30102支持多個(gè)低功耗模式,可以在不同的功耗和性能需求之間進(jìn)行權(quán)衡,以延長(zhǎng)電池壽命。
1.4? 顯示模塊
本文的顯示模塊采用的是LCD1602芯片。LCD1602是一種基于液晶技術(shù)的字符顯示模塊,性能穩(wěn)定,使用方便,價(jià)格低廉。它由兩行,每行16個(gè)字符的顯示區(qū)域組成,每個(gè)字符由5×8點(diǎn)陣組成。LCD1602具有廣泛的應(yīng)用領(lǐng)域,包括電子設(shè)備、嵌入式系統(tǒng)、工業(yè)控制以及教育實(shí)驗(yàn)等。通過(guò)與控制器的連接,可以向LCD1602發(fā)送指令和數(shù)據(jù),以控制顯示內(nèi)容、位置和外觀等。用戶(hù)可以在LCD1602上顯示自定義的文本、數(shù)字、符號(hào)和圖形,以滿(mǎn)足各種應(yīng)用的需求。
1.5? 藍(lán)牙模塊
本文通過(guò)JDY-30藍(lán)牙模塊與手機(jī)軟件連接,可以將測(cè)量得到的數(shù)據(jù)發(fā)送到手機(jī)上,人們通過(guò)手機(jī)便可以清楚地觀察到自身體質(zhì)數(shù)據(jù)。
JDY-30是一種基于SPP(串口藍(lán)牙傳輸協(xié)議)藍(lán)牙模塊,是一種小型且易于使用的無(wú)線通信模塊,常用于與藍(lán)牙設(shè)備進(jìn)行串口通信。JDY-30模塊配置方式簡(jiǎn)便,用戶(hù)可以通過(guò)發(fā)送AT指令來(lái)配置模塊的參數(shù),如藍(lán)牙名稱(chēng)、波特率等;JDY-30模塊可工作在主從模式或僅從模式。主從模式可實(shí)現(xiàn)雙向數(shù)據(jù)傳輸,而僅從模式只能接收數(shù)據(jù)。另外,JDY-30模塊采用低功耗設(shè)計(jì),適合于對(duì)電源功耗有要求的場(chǎng)景,帶有藍(lán)牙連接狀態(tài)的指示燈,可以方便地了解藍(lán)牙連接狀態(tài)。
STM32主控模塊與手機(jī)端App之間采用JDY-30藍(lán)牙模塊進(jìn)行通信。該模塊體積小巧、使用靈活,用戶(hù)可根據(jù)需要設(shè)置波特率,通信距離可達(dá)10 m。該藍(lán)牙芯片非常適合在人體體質(zhì)監(jiān)測(cè)系統(tǒng)中使用。
2? 系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)的程序設(shè)計(jì)以模塊化為設(shè)計(jì)原則,將每個(gè)模塊封裝為函數(shù),每個(gè)模塊完成特定的功能。使用模塊化開(kāi)發(fā),可以將代碼耦合度降低,模塊化的意義在于最大化的設(shè)計(jì)重用,以最少的模塊、零部件,更快速地滿(mǎn)足更多的個(gè)性化需求,提高系統(tǒng)程序的可維護(hù)性和可測(cè)試性。此外,如果需要對(duì)程序進(jìn)行升級(jí)優(yōu)化及功能擴(kuò)展,可在不影響程序原有功能的情況下,加入相應(yīng)模塊的代碼即可實(shí)現(xiàn),提高開(kāi)發(fā)效率和降低開(kāi)發(fā)成本。本系統(tǒng)中,程序設(shè)計(jì)模塊包括以下幾種:脈搏波傳感模塊、藍(lán)牙通信模塊、LCD屏幕顯示模塊、存儲(chǔ)模塊、時(shí)鐘及輔助模塊等。
系統(tǒng)主程序可以控制單片機(jī)系統(tǒng)按預(yù)定的操作方式運(yùn)行。它是單片機(jī)系統(tǒng)程序的框架。系統(tǒng)上電后,需對(duì)系統(tǒng)進(jìn)行初始化。初始化程序主要完成對(duì)單片機(jī)內(nèi)專(zhuān)用寄存器、定時(shí)器工作方式及各端口的工作狀態(tài)的設(shè)定。在系統(tǒng)初始化之后,進(jìn)行按鍵掃描、液晶顯示等工作。系統(tǒng)主流程,如圖2所示。
3? 測(cè)試及結(jié)論
在完成系統(tǒng)的硬件設(shè)計(jì)和軟件設(shè)計(jì)后,可進(jìn)行人體體質(zhì)監(jiān)測(cè)系統(tǒng)的工作性能測(cè)試。當(dāng)系統(tǒng)接通電源后,系統(tǒng)便開(kāi)始正常工作。在監(jiān)測(cè)人體體質(zhì)時(shí),系統(tǒng)不僅可以通過(guò)LED顯示屏顯示被監(jiān)測(cè)人的體質(zhì)信息,還可以將數(shù)據(jù)通過(guò)藍(lán)牙發(fā)送到手機(jī)端。LCD顯示屏上顯示的信息包括:當(dāng)前測(cè)得的心率(HR)、血氧(SpO2)、體溫(HeartRate)。經(jīng)測(cè)試,本文所設(shè)計(jì)系統(tǒng)? 可以穩(wěn)定、正常的工作。
參考文獻(xiàn)
[1]張金榜,吳榮春,何騫,等.可穿戴的生理監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2013(20):29-31.
[2]管培培,丁寧煒,湯強(qiáng),等.三維加速度counts估算不同步速能量消耗應(yīng)用初探[J].山東體育科技,2018(1):72-75.
[3]葉宏,彥秉軍,高曉飛,等.單片機(jī)溫度自動(dòng)控制系統(tǒng)[J].黑龍江電子技術(shù),2017(3):25-28.
[4]劉會(huì)忠,程煜.Flash存儲(chǔ)管理在嵌入式系統(tǒng)中的實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2010(8):88-90.
[5]李冰冰,俞帥東,楊象校,等.基于可穿戴的運(yùn)動(dòng)強(qiáng)度監(jiān)測(cè)系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2015(5):32-39.
[6]龍曉慶,陳忠平.基于51單片機(jī)的小型分配性冷庫(kù)溫控系統(tǒng)[J].中國(guó)科技信息,2019(8):89-92.
[7]錢(qián)鈞,惠王偉,高瑩,等.RC濾波電路實(shí)驗(yàn)設(shè)計(jì)與研究[J].大學(xué)物理實(shí)驗(yàn),2017(5):116-119.
[8]仝兆景,時(shí)俊嶺,李月,等.基于無(wú)線通訊技術(shù)脈搏檢測(cè)儀的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,2017(1):13-16.
(編輯? 姚? 鑫)
Design and implementation of a human physical fitness monitoring system based on STM32
Yang? Kai1, Wang? Runxiu2, Ni? Xiaoyu2, Ji? Gaoqing2*
(1.Jiangxi Vocational College of Finance and Economics, Jiujiang 332000, China;
2.Hebei University of Architecture, Zhangjiakou 075000, China)
Abstract:? Due to the acceleration of peoples pace of life and the increase in life pressure, the physical health of the human body is increasingly valued. In order to make people pay more intuitive attention to their physical health, the article designs a human physique monitoring system based on the STM32 microcontroller. The system uses the STM32 microcontroller as the main control module, and monitors human physical parameters such as heart rate, blood oxygen, and body temperature through the blood oxygen sensor module, pulse heart rate measurement module, and body temperature measurement module. The wireless transmission function is achieved through the Bluetooth module, and the measured data is transmitted to the mobile phone. With this system, users can view their physical fitness data on the LCD screen and also learn about their physical fitness parameters on the mobile App. After experimental testing, the system runs smoothly and operates normally, meeting the design requirements.
Key words: human constitution; STM32; sensing module; blood oxygen