畢業設計 STM32版RFID醫囑專用手環

2022-03-30     大方老師單片機

原標題:畢業設計 STM32版RFID醫囑專用手環

醫囑專用手環不僅能測量心率,還可以與醫院聯動,讓畢業設計有更加實用的價值。

下面就介紹下設計細節,方便感興趣的同學自己動手。

功能描述

作為醫囑手環,除了有手環的常規功能之外,還有和醫院的互動功能:

心率、血氧監測使MAX30102模塊,算法FFT快速傅立葉變換,借鑑了之前做的推送里的代碼(借鑑代碼在這裡:自製簡易血氧心率STM32+MAX30100),同時心率、血氧信息會通8266WiFi發送給上位機,在動態網頁上實時顯示。

RFID識別藥品通過按鍵選OLED螢幕上功能進行核驗,核驗的過程分為核RFID標籤扇區密碼,讀取相應扇區存放的數據,再進行字符串對比。如果讀出的字符串和手環內部設置的患者編號不同LED紅燈亮起OLED核驗錯,同時蜂鳴器進行報錯,直到用戶按下確定鍵。核驗正確則亮綠燈,延2s消失。同時核驗記錄會通8266WiFi發送給上位機。注意:要先RFID標籤相應扇區里寫入信接收通知根據信息種類分成手術通知、服藥提醒和請家屬來手術室。當通8266WiFi接受到不同字符串時,會OLED螢幕上顯示相應內容。

硬體組成

手環的全部晶片包括:

主控STM32F103VET6。手環所IO口不多,所以主控換C8T6也行。

通信8266WIFI是方便組網,基本手機開個熱點就行,後期如果希望把上位機動態網頁放在網絡上,或者想在手機上做個相應app8266WiFi也更容易接入,注意要3.3V供電的模塊。

RFID標籤使用的MFRC522,相比於經典RC522,在體積上縮小很多,但是其他包括指令、頻率、時序都沒發生變化,因為做的是手環(雖然現在做的比較丑),所以對使用模塊大小是越小越好RFID標籤沒使用自帶的復M1卡,而是買了不幹膠標籤,方便黏在藥瓶上。血氧模塊使用MAX30102,是之所以選MAX30102,是因為它是目前最普遍的血氧模塊,接口簡單,使IIC,例程也很容易找。pulsesensor需要先經AD轉換再進行計算。

程序流程

主程序流程圖:

程序一共設置了兩flag,一個是表示螢幕和目前所在時間scflag位,另一個rflag位,用於接收中斷。

點擊可以放大

剛開始寫的程序中,scflag相應執行的程序放在主程序,中斷只改scflag值。主程序先判scflag位,再執行相應程序,但是由於心率計算時間一般比較長,需要好幾秒,經常會出現返回斷點後要過兩三秒才會出現相應畫面。所以,後面把相應程序全部放在中斷里。點擊可以放大上圖是接收中斷的函數,因為異步通信是一幀幀接收,所以為了防止在使netassist調試時不小心按錯字符發送,我規定了一個rv,只有當前兩位字符rv,單片機才會將以下接收的四個字符存儲在字符串里。四個字符接受完後,就選擇執行相應命令,具體格式如下表。

軟體相關的代碼開源給大家繼續完善補充,達爾聞說微信回覆:醫囑手環,獲取。

後續項目升級

醫囑手環的功能還可以更強大。有些疾病是可以通過連續性心率監測診斷,例如原發性高血壓在初期和後期心率會有增10~15%,那麼通過長期的心率監測可以起到預警作用。另一個構想是添加一sd卡,用來存儲心率數據,然後將一個人長期以來的心率讀出來,運用現在已經找到的一些心率模型,來判斷是否具有某些疾病的心率特徵。

要實現上述的功能,有個關鍵問題max30102模塊的測量數據是否符合目前疾病心率模型的標準,還待繼續考量。

說了這麼多,大家記得留意下方評論第一條(或者私信我)有干~

文章來源: https://twgreatdaily.com/zh-mo/2633d3c7062bf2808b93ddec1959e13d.html