廖菲鈺 文歡 陳靖萱 康意萌 賈富川 劉旭
摘要:為了更好地監(jiān)測人體健康狀況,設(shè)計了一款基于STM32核心控制模塊的智能手環(huán)。該手環(huán)主要由人體健康數(shù)據(jù)監(jiān)測模塊、液晶顯示模塊和無線通訊模塊組成。系統(tǒng)利用人體健康數(shù)據(jù)監(jiān)測模塊采集人體心率、血氧、體溫和運(yùn)動狀況,對采集到的健康數(shù)據(jù)進(jìn)行分析處理后在液晶顯示模塊輸出顯示,并將數(shù)據(jù)信息通過無線通訊模塊發(fā)送至手機(jī)端。經(jīng)過測試,該智能手環(huán)可以有效用于監(jiān)測用戶的健康狀況。
關(guān)鍵詞:溫度傳感器;STM32單片機(jī);液晶顯示屏
中圖分類號:TP273? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2024)09-0099-05
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID)
0 引言
隨著科技的不斷發(fā)展,人們對于健康和生活質(zhì)量的關(guān)注程度越來越高。在這個背景下,智能手環(huán)作為一種可以實(shí)時監(jiān)測人體健康狀況的設(shè)備,受到了越來越多人的青睞。智能手環(huán)不僅可以實(shí)時監(jiān)測用戶的心率、血氧、體溫、睡眠質(zhì)量等生理指標(biāo),還可以通過連接手機(jī)App為用戶提供運(yùn)動計步等功能。因此,設(shè)計一款基于STM32的智能手環(huán)具有很高的實(shí)用價值和市場前景。
本設(shè)計旨在實(shí)現(xiàn)一款基于STM32的智能手環(huán),通過對各種傳感器的數(shù)據(jù)采集和處理,實(shí)現(xiàn)對用戶健康狀況的實(shí)時監(jiān)測。本設(shè)計將采用高性能的STM32微控制器作為主控芯片,結(jié)合各種傳感器和外圍電路,實(shí)現(xiàn)對用戶健康狀況的全面監(jiān)測。該手環(huán)由單片機(jī)電路、心率血氧檢測模塊、計步模塊、液晶顯示模塊和溫度傳感器模塊組成。心率血氧是指一般人心臟在安靜狀態(tài)下每分鐘跳動的次數(shù)和當(dāng)前人體血紅蛋白氧含量是否正常。這是檢驗(yàn)人體健康標(biāo)準(zhǔn)的一大指標(biāo),也是本次設(shè)計較為突出的一大重點(diǎn)。
1 設(shè)計方案
本設(shè)計采用STM32單片機(jī)作為主控模塊,C語言作為主要編程語言。智能手環(huán)的傳感器模塊主要是心率血氧采集模塊、計步模塊和溫度采集模塊。這些模塊包括加速度計、陀螺儀、心率傳感器、血氧傳感器等,用于采集用戶的運(yùn)動數(shù)據(jù),實(shí)時監(jiān)測用戶身體機(jī)能,將檢測到的數(shù)據(jù)傳至單片機(jī)進(jìn)行數(shù)據(jù)處理。單片機(jī)根據(jù)輸入的數(shù)據(jù)對OLED液晶顯示屏和蜂鳴器進(jìn)行智能控制,實(shí)現(xiàn)數(shù)據(jù)顯示和報警功能。如果用戶體溫超過設(shè)定閾值或者心率血氧不在設(shè)定范圍內(nèi),則通過無線通訊模塊將數(shù)據(jù)上傳至手機(jī)App并進(jìn)行報警提醒。系統(tǒng)框圖,如圖1所示。
2 硬件設(shè)計
智能手環(huán)包括心率血氧傳感器模塊、計步模塊、溫度檢測模塊、OLED顯示屏模塊及Wi-Fi無線通訊模塊,其硬件電路設(shè)計如圖2所示。
2.1 心率血氧傳感器模塊
本次設(shè)計的心率血氧模塊選用MAX30102紅外模塊。MAX30102是一種集成式脈搏氧飽和度血氧傳感器模塊,其工作原理是通過紅外光和綠色光對生物組織進(jìn)行血氧飽和度檢測[1]。在本次設(shè)計中主要用于采集心率血氧信號。此模塊對心率信號采集較為穩(wěn)定,其抗干擾能力較強(qiáng),測量的數(shù)值比較準(zhǔn)確,波形穩(wěn)定。心率血氧模塊集成了一個紅光LED和一個紅外光LED、光電檢測器、光器件,以及帶環(huán)境光抑制的低噪聲電子電路[2]。MAX30102采用一個1.8V電源和一個獨(dú)立的5.0V用于內(nèi)部LED的電源,應(yīng)用于可穿戴設(shè)備進(jìn)行心率和血氧采集檢測,佩戴于手腕處[3]。標(biāo)準(zhǔn)的2C兼容的通信接口可以將采集到的數(shù)值傳輸給Arduino、KL25Z等單片機(jī)進(jìn)行心率和血氧計算[4]。此外,該芯片還可通過軟件關(guān)閉模塊,待機(jī)電流接近為零,實(shí)現(xiàn)電源始終維持供電狀態(tài)[5-6]。心率血氧傳感器模塊如圖3所示。
圖3? 心率血氧模塊電路圖
2.2 計步模塊
本次設(shè)計的計步模塊選用ADXL345。ADXL345是一款小而薄的超低功耗三軸加速度傳感器元件,具有13bit的解析度。經(jīng)過容壓變換器、增益放大、濾波器和電壓信號輸出得到步數(shù)。ADXL345與移動設(shè)備的匹配度非常高,該傾角傳感器模塊電路利用任一軸線上的加速度與佩戴者設(shè)定數(shù)值進(jìn)行比較來偵測是否有步數(shù)移動[8]。計步模塊如圖4所示。
2.3 DS18B20溫度檢測模塊
DS18B20主要由四部分組成:64位光刻ROM數(shù)據(jù)存儲器,溫度傳感器,非易失性電可擦寫溫度報警觸發(fā)器TH和TL,非易失性電可擦寫設(shè)置寄存器。如果溫度檢測模塊測量的溫度值高于溫度報警觸發(fā)器TH或低于TL中的值,則DS18B20內(nèi)部的報警標(biāo)志位就被重置。DS18B20的測溫范圍為-55~+125℃,溫度轉(zhuǎn)換以16 位二進(jìn)制方式輸出,位數(shù)可通過設(shè)置寄存器進(jìn)行更改。DS18B20溫度檢測模塊如圖5所示。
2.4 OLED顯示屏電路模塊
OLED使用普通的矩陣交叉屏,OLED位于交叉排列的陽極和陰極中間,通過對陽極和陰極組合的選通,可以控制每一個OLED的點(diǎn)亮和熄滅[7]。
液晶顯示模塊中P5是一個4孔的排針,專門供OLED液晶顯示屏使用;顯示屏的SCL引腳連接的是單片機(jī)的B6引腳,通過SCL引腳傳輸串行時鐘數(shù)據(jù);SDL引腳連接的是單片機(jī)的B7引腳,通過SDL引腳傳輸串行數(shù)據(jù)。OLED顯示屏電路模塊如圖6所示。
2.5 報警模塊電路
本次設(shè)計中,當(dāng)檢測到溫度或心率血氧高于報警上限時,蜂鳴器報警。蜂鳴器由四部分組成,電阻、NPN三極管、蜂鳴器、LED燈。其中電阻為限流電阻,起到保護(hù)作用[9-10]。由于單片機(jī)電路非常小,無法提供蜂鳴器所需的電流,經(jīng)過三極管將驅(qū)動電流放大至200倍,驅(qū)動蜂鳴器報警。報警模塊電路如圖7所示。
2.6 Wi-Fi無線通信設(shè)計
本次設(shè)計無線通信方面采用的是Wi-Fi模塊,通過此模塊可以把當(dāng)前的數(shù)據(jù)發(fā)送到手機(jī)App上進(jìn)行顯示。無線數(shù)據(jù)傳輸選用ESP8266,通過此模塊進(jìn)行串口通信,在手機(jī)App就可以完成數(shù)據(jù)的傳輸和顯示,傳輸數(shù)據(jù)穩(wěn)定[11-12]。
無線通信部分采用ESP8266無線串口作為數(shù)據(jù)發(fā)送模塊。在本次設(shè)計中的無線通信,通過Wi-Fi模塊,單片機(jī)將溫度和心率血氧值發(fā)送至手機(jī)端,并顯示在App上。Wi-Fi無線通信設(shè)計如圖8所示。
3 軟件設(shè)計
完整的控制系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)組成,本設(shè)計利用STM32為控制中心,采用STM32F103C8T6芯片,利用Keil uVision5進(jìn)行編程。設(shè)計主要分為主程序模塊、液晶顯示模塊、按鍵模塊、溫度采集模塊、報警模塊、Wi-Fi模塊6個模塊。軟件設(shè)計流程圖如圖9所示。
主程序模塊:系統(tǒng)上電后,配置各個傳感器的引腳,初始化IIC分別讓OLED和ADXL345進(jìn)行液晶顯示和數(shù)據(jù)采集等操作,采集完成后Wi-Fi串口初始化等待發(fā)送數(shù)據(jù),DS18B20進(jìn)行溫度采集操作,隨后心率傳感器獲取當(dāng)前心率值,最后將采集到的數(shù)據(jù)通過無線通訊模塊發(fā)送到手機(jī)App端,同時控制OLED顯示當(dāng)前采集到的數(shù)據(jù),進(jìn)入按鍵掃描判斷按鍵是否按下,如果檢測到按鍵按下則處理按鍵掃描函數(shù)。
3.1 液晶顯示模塊程序設(shè)計
液晶顯示屏正常工作需要寫入命令控制字,隨后寫入需要顯示的數(shù)據(jù)。如果液晶正在工作,則必須等待,直到液晶發(fā)出工作完成的信號時,才能夠?qū)懭肟刂谱趾蛿?shù)據(jù)。液晶顯示模塊程序流程圖如圖10所示。
3.2 按鍵程序流程圖
該智能手環(huán)共包含5個按鍵,按鍵功能分別是切換、清零、設(shè)置、加、減。切換的頁面分別為設(shè)置心率上下限,設(shè)置血氧下限,設(shè)置溫度上下限,最后回到溫度、心率血氧、步數(shù)等總的中文顯示界面。按鍵程序流程圖如圖11所示。
3.3 DS18B20溫度采集程序流程圖
DS18B20中讀取溫度的過程如下:獲取DS18B20中的溫度值,該溫度值為BCD碼形式,隨后轉(zhuǎn)換為十進(jìn)制形式輸出溫度值。此時輸出的溫度值是實(shí)際溫度的一百倍。隨后需要進(jìn)行輸出溫度與實(shí)際溫度的轉(zhuǎn)換。首先需要初始化函數(shù),其次讀取溫度傳感器的溫度,最后計算實(shí)際溫度值。DS18B20溫度采集程序流程圖如圖12所示。
3.4 蜂鳴器報警程序流程圖
本次設(shè)計的報警模塊采用了蜂鳴器聲光報警。將蜂鳴器正極性的一端連接到三極管上,并增加一個1K的限流電阻防止三極管直接被導(dǎo)通,通過單片機(jī)IO口輸出高電平。當(dāng)管腳為高電平時,三極管導(dǎo)通,蜂鳴器的電流形成回路,發(fā)出聲音,發(fā)光二極管閃爍,即實(shí)現(xiàn)報警。當(dāng)管腳為低電平時,三極管截至,蜂鳴器不發(fā)出聲音,發(fā)光二極管不閃爍,即不實(shí)現(xiàn)報警。蜂鳴器報警程序流程圖如圖13所示。
3.5 Wi-Fi程序流程圖
本次設(shè)計采用的無線通信模塊ESP8266,此模塊需要和單片機(jī)進(jìn)行串口通信,通過相應(yīng)的AT指令集和利用 Wi-Fi模塊的熱點(diǎn)模式便可以實(shí)現(xiàn)對數(shù)據(jù)的無線傳輸操作。ESP8266集成了TCP/IP協(xié)議棧,可以直接連接到Wi-Fi網(wǎng)絡(luò),無需額外的外部芯片。電壓連接3.3V,GND(地線)、TXD(發(fā)送數(shù)據(jù))、RXD(接收數(shù)據(jù)) 便可以實(shí)現(xiàn)和單片機(jī)進(jìn)行通信,緊接著手機(jī)端可以接受到當(dāng)前Wi-Fi發(fā)送的數(shù)據(jù)信息。Wi-Fi程序流程圖如圖14所示。
4 實(shí)物測試
最后一步是硬件整體測試,將智能手環(huán)在室內(nèi)進(jìn)行各項(xiàng)指標(biāo)測試,通過溫水模擬人體溫度過高的情況。智能手環(huán)整體實(shí)物圖如圖15所示。啟動該手環(huán)LED屏顯示“歡迎使用智能手環(huán)”。實(shí)物運(yùn)行圖如圖16所示。啟動后OLED屏界面分為顯示溫度、心率、血氧、計步4部分。該手環(huán)有五個按鍵,功能分別是切換、清零、設(shè)置、加、減。切換的頁面分別為設(shè)置心率上下限,設(shè)置血氧下限,設(shè)置溫度上下限,最后回到原始界面(溫度、心率血氧、步數(shù)等總的中文顯示界面)。通過按鍵模塊的設(shè)置功能,可以分別設(shè)置溫度閾值為35-37℃,心率閾值為60-100bpm,血氧下限為95%。按鍵功能設(shè)置如圖17所示。當(dāng)三項(xiàng)指標(biāo)的任意一項(xiàng)不在閾值范圍內(nèi)時,OLED黃燈閃爍,蜂鳴器進(jìn)行報警。不在閾值內(nèi)的數(shù)據(jù)將在智能手環(huán)的LED顯示屏上不斷閃爍,同時通過無線通訊模塊將數(shù)據(jù)上傳至手機(jī)端,手機(jī)端彈出紅色報警提示框并顯示“患者體征異?!?。實(shí)物測試結(jié)果如表1所示。
5 總結(jié)
本文提出了基于STM32智能手環(huán)的設(shè)計與實(shí)現(xiàn)方法。主要闡述了心率血氧溫度檢測和無線傳輸通信兩個部分。心率血氧溫度檢測模塊分別選用MAX30102和DS18B20進(jìn)行心率血氧和溫度的采集,再通過無線通訊模塊上傳至手機(jī)App完成顯示,這是本設(shè)計的創(chuàng)新之處。同時該手環(huán)對傳染病防控有很大幫助,可以實(shí)現(xiàn)在零接觸的條件下管理者實(shí)時監(jiān)測佩戴者的身體數(shù)據(jù),當(dāng)監(jiān)測數(shù)據(jù)不在設(shè)定閾值內(nèi)時觸發(fā)蜂鳴器報警,使管理者能夠通過手機(jī)App及時發(fā)現(xiàn)情況并采取對應(yīng)的措施,從而大大降低了危險性。
本款運(yùn)動手環(huán)有利于減輕醫(yī)療負(fù)擔(dān),提高人們健康意識,通過對實(shí)物運(yùn)行結(jié)果的分析,該手環(huán)已實(shí)現(xiàn)設(shè)計方案所預(yù)期的功能,性能穩(wěn)定、檢測數(shù)據(jù)精準(zhǔn)、應(yīng)用前景廣泛。
參考文獻(xiàn):
[1] 姚立平,劉偉章,譚仲威,等.一種基于ZigBee的無線心率血氧實(shí)時監(jiān)測系統(tǒng)研究[J].科技創(chuàng)新與應(yīng)用,2022,12(29):52-56.
[2] 潘祉,陳黎明,馬麗華,等.基于物聯(lián)網(wǎng)技術(shù)的 “銀發(fā)守護(hù)者” 的設(shè)計與實(shí)現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2023,13(8):121-126.
[3] 黃衍標(biāo),陳華珍,黃鍵鵬,等.基于腕部可穿戴設(shè)備的跌倒監(jiān)護(hù)系統(tǒng)設(shè)計與實(shí)現(xiàn)[J].計算機(jī)測量與控制,2019,27(1):102-106.
[4] 趙帥豪,王堅.基于藍(lán)牙定位的老年人室內(nèi)跌倒監(jiān)護(hù)系統(tǒng)設(shè)計[J].北京測繪,2020,34(3):333-337.
[5] 于福超,李元龍.一款基于北斗導(dǎo)航的智能導(dǎo)診輪椅[J].中國科技信息,2020(15):53-54.
[6] 劉洪延,周正權(quán),洪博恩.一種基于SMA絲的微型藥物釋放系統(tǒng)[J].科技創(chuàng)新導(dǎo)報,2020,17(1):100-101.
[7] 任振耀.基于單片機(jī)的老年人智能手環(huán)設(shè)計[J].電工技術(shù),2023(18):5-9,12.
[8] 黃紅霞,魯令軍,肖貴賢,等.一種單片機(jī)方案的智能家居系統(tǒng)設(shè)計與實(shí)現(xiàn)[J].湖北理工學(xué)院學(xué)報,2017,33(5):8-11.
[9] 曾貴苓,葉素娣,王蘋.基于STM32單片機(jī)的智能手環(huán)設(shè)計[J].西安文理學(xué)院學(xué)報(自然科學(xué)版),2023,26(3):72-76.
[10] 惠鵬飛,鄒立穎,周健.基于STM32的藍(lán)牙無線多功能智能手環(huán)設(shè)計[J].高師理科學(xué)刊,2023,43(11):27-31,38.
[11] 張斌,丁娜娜,田晴豪.基于STM32的智能手環(huán)設(shè)計[J].微處理機(jī),2023,44 (3):62-64.
[12] 任琦,王娟娟,李晨,等.老年人對智能手環(huán)的需求調(diào)查及分析[J].智能建筑與智慧城市,2022(11):31-34.
【通聯(lián)編輯:梁書】