基于STM32的人體健康監(jiān)護(hù)系統(tǒng)(體溫、心率、心跳、跌倒檢測(cè))
一、設(shè)計(jì)需求(點(diǎn)擊此處黃色字體領(lǐng)取文章配套資料)
1.1 設(shè)計(jì)需求總結(jié)
根據(jù)需求,要求設(shè)計(jì)一款 基于Q STM32 的人體健康監(jiān)護(hù)系統(tǒng)。采用系統(tǒng)模塊化思路進(jìn)行,將多個(gè)數(shù)模傳感器收集到的數(shù)據(jù)和操作指令一并送至 STM32 中心處理器進(jìn)行處理分析。
該系統(tǒng)可以實(shí)時(shí)監(jiān)測(cè)被測(cè)者的心率、體溫以及周圍環(huán)境的溫度,也同時(shí)可以通過姿態(tài)解算來判斷被測(cè)者是否睡覺。該系統(tǒng)可以將被測(cè)者的心率、體溫等數(shù)據(jù)既可以在本地顯示,也可以通過 WI-FI 傳輸至云平臺(tái)以實(shí)現(xiàn)遠(yuǎn)程顯示。當(dāng)被測(cè)者吸煙時(shí)則會(huì)發(fā)出警報(bào)直至香煙熄滅,可以讓被測(cè)者遠(yuǎn)離不健康的生活習(xí)慣,同時(shí)也可以通過衛(wèi)星定位查看設(shè)備所在位置。
以上的傳感器收集到的所有數(shù)據(jù)都可以上傳到自己搭建的云平臺(tái),找云平臺(tái)上或者在自己設(shè)計(jì)的手機(jī)APP上都可以進(jìn)行實(shí)時(shí)顯示演示和分析。使數(shù)據(jù)展示直觀又美觀方便。定位功能則是可以直接實(shí)時(shí)顯示地圖的詳細(xì)信息。
模塊選用
- STM32f103c8t6
- 0.96 oled IIC 模塊
- max30100心率血氧模塊
- mpu-6050模塊
- 人體溫度模塊 (某寶54元買的價(jià)格有點(diǎn)貴哈)
功能概述
1.跌倒檢測(cè)
*速度瞬態(tài)變化
人體加速度向量幅值SVM和微分加速度幅值的絕對(duì)平均值DSVM是區(qū)分人體運(yùn)動(dòng)狀態(tài)的重要參量。SVM通過計(jì)算加速度幅度表征人體運(yùn)動(dòng)的劇烈程度,其值越大表明運(yùn)動(dòng)越劇烈。DSVM通過計(jì)算SVM的微分絕對(duì)值的時(shí)間平均表征人體運(yùn)動(dòng)狀態(tài)變化的劇烈程度,其值越大表明運(yùn)動(dòng)狀態(tài)變化越劇烈。其定義為:在動(dòng)態(tài)坐標(biāo)系下考察SVM和DSVM,可監(jiān)測(cè)人體的運(yùn)動(dòng)強(qiáng)度和運(yùn)動(dòng)狀態(tài)變化強(qiáng)度。
判定標(biāo)準(zhǔn):
- SVM正常狀態(tài)下值是17000左右,當(dāng)將其加速晃動(dòng)時(shí),分析得到的安全加速度約在12000~22000之間(模擬測(cè)試值,僅供參考),當(dāng)超出閾值時(shí),5秒內(nèi)都判定為異常,且板載藍(lán)色LED燈亮。
-
三軸歐拉偏角大于 40°時(shí) 即異常
人體體位的另一個(gè)重要特征就是身體的傾角,調(diào)查顯示,人體處于直立狀態(tài)時(shí),軀干與重心方向的傾角小于60度;而人體處于水平狀態(tài)時(shí),傾角接近90度;人體在跌倒時(shí),軀干從直立狀態(tài)變?yōu)榻咏降臓顟B(tài)。所以可以將人體傾角值是否大于60度來作為輔助判斷跌倒的特征,傾角值可通過傾角傳感器獲得。
2.人體溫度
線性區(qū)間溫度30—44度/電壓2.127–1.193V
獲取溫度流程:
- 模塊AO輸出捕獲ADC平均有效值換算成電壓值
- 根據(jù)驅(qū)動(dòng)例程提供的數(shù)據(jù)表,用電壓值匹配電阻表
- 電阻表匹配對(duì)應(yīng)溫度值
3.心率血氧濃度
當(dāng)LED光射向皮膚,透過皮膚組織反射回的光被光敏傳感器接受并轉(zhuǎn)換成電信號(hào)再經(jīng)過AD轉(zhuǎn)換成數(shù)字信號(hào),簡(jiǎn)化過程:光–> 電 --> 數(shù)字信號(hào)。根據(jù)官方歷程移植代碼,中途遇到很多問題,血氧的測(cè)量,相比心率血氧測(cè)量難度較大而且精度不算太高,寄存器中文描述可參考此鏈接
程序設(shè)計(jì)流程如下
- 先初始化IIC,再初始化血氧模塊SPO2_Init()
- 檢查樣本,采樣獲取紅外FIFO、紅外FIFO 的AC值
- 對(duì)紅外FIFO、紅外FIFO過濾脈沖值
- 根據(jù)相應(yīng)的算法 光電容積脈搏波描記法PPG 獲取心跳速率、血氧濃度
zigbee發(fā)送數(shù)據(jù)
USART -> zigbee只需要 串口 printf 就可以完成數(shù)據(jù)的傳輸
使用該模塊前需要配置模塊我這里配置的波特率是115200
完整代碼可進(jìn)群免費(fèi)領(lǐng)取!!!
嵌入式物聯(lián)網(wǎng)的學(xué)習(xí)之路非常漫長(zhǎng),不少人因?yàn)閷W(xué)習(xí)路線不對(duì)或者學(xué)習(xí)內(nèi)容不夠?qū)I(yè)而錯(cuò)失高薪offer。不過別擔(dān)心,我為大家整理了一份150多G的學(xué)習(xí)資源,基本上涵蓋了嵌入式物聯(lián)網(wǎng)學(xué)習(xí)的所有內(nèi)容。點(diǎn)擊下方鏈接,0元領(lǐng)取學(xué)習(xí)資源,讓你的學(xué)習(xí)之路更加順暢!記得點(diǎn)贊、關(guān)注、收藏、轉(zhuǎn)發(fā)哦!
- 贊