基于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):

  1. SVM正常狀態(tài)下值是17000左右,當(dāng)將其加速晃動(dòng)時(shí),分析得到的安全加速度約在12000~22000之間(模擬測(cè)試值,僅供參考),當(dāng)超出閾值時(shí),5秒內(nèi)都判定為異常,且板載藍(lán)色LED燈亮。
  2. 三軸歐拉偏角大于 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

獲取溫度流程:

  1. 模塊AO輸出捕獲ADC平均有效值換算成電壓值
  2. 根據(jù)驅(qū)動(dòng)例程提供的數(shù)據(jù)表,用電壓值匹配電阻表
  3. 電阻表匹配對(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ì)流程如下

  1. 先初始化IIC,再初始化血氧模塊SPO2_Init()
  2. 檢查樣本,采樣獲取紅外FIFO、紅外FIFO 的AC值
  3. 對(duì)紅外FIFO、紅外FIFO過濾脈沖值
  4. 根據(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ā)哦!

點(diǎn)擊這里找小助理0元領(lǐng)取

the end

評(píng)論(0)