基於STM32的脈搏心率檢測儀(OLED可以實時顯示脈衝波形)

Lyishuai發表於2020-09-09

—設計完整,功能可全部實現,有完整報告文件說明、程式以及pcb檔案—
可作為:課程設計,STM32實踐學習,電子製作等

設計所實現的功能:
利用STM32的AD採集功能實時採集心率感測器訊號輸出引腳輸出的模擬電壓,通過將採集到的模擬訊號在STM32內部進行運算處理,將資料波形實時顯示到OLED螢幕上。並且按下測量鍵可以進行心率測量,在OLED螢幕上面顯示一分鐘脈搏數。
1.使用STM32對心率感測器輸出模擬電訊號來進行模數轉換;
2.採集回的資料以波形的形式顯示在OLED螢幕上;
3.當按下測量按鍵時會進行一分鐘脈搏次數計算,然後顯示在OLED螢幕上;
4.在心率檢測儀工作時,心型流水燈會發生相應的流動變化。

設計內容
本文所設計的基於STM32的心率檢測儀是利用STM32的AD採集功能實時採集心率感測器訊號輸出引腳輸出的模擬電壓,通過將採集到的模擬訊號在STM32內部進行運算處理,將資料波形實時顯示到OLED螢幕上。並且按下測量鍵可以進行心率測量,在OLED螢幕上面顯示一分鐘脈搏數。其中主要實現了使用STM32對心率感測器輸出模擬電訊號來進行模數轉換,並且實時將採集回的資料以波形的形式顯示在OLED螢幕上,當按下測量按鍵時會進行一分鐘脈搏次數計算,然後顯示在OLED螢幕上,及時瞭解到自己的心跳次數。

系統總體設計
系統的硬體組成中以STM32為主控制晶片,利用STM32內部自帶的AD採集模組進行實時採集心率感測器輸出引腳輸出的模擬訊號,並且將採集到的資料以波形的形式實時顯示到OLED螢幕上,其中心型流水燈可以顯示測量狀態。系統的基本硬體結構圖如圖2.1所示。

Pulse Sensor 是一款用於心率測量、脈搏波形測量和HRV分析的光電反射式模擬感測器。將其佩戴於手指、耳垂等處,通過導線連線可將採集到的模擬訊號傳輸給Arduino、STM32和STC12C5A等具有模擬採集功能的微控制器並轉換為數字訊號,再通過微控制器的簡單計算後就可以得到心率數值,此外還可將脈搏波形和心率數值通過串列埠上傳到電腦進行顯示。Pulse Sensor心率感測器如圖2.2所示。

OLED螢幕是利用有機電致發光二極體製成的螢幕。由於同時具備自發光,不需背光源、對比度高、厚度薄、視角廣、反應速度快、可用於撓曲性皮膚、使用溫度範圍廣、構造及製程較簡單等優異之特性,被認為是下一代的平面顯示器新興應用技術。實驗中所採用的OLED 螢幕如圖2.3所示。

系統總體硬體搭建
將STM32、Pulse Sensor心率感測器、OLED 螢幕模組以及按鍵等部分的硬體設計好之後,根據設計中的需求,先是AD採集模組採集到的訊號到STM32控制器中,然後通過STM32將資料實時輸出到OLED螢幕上,按鍵可以實時進行控制是否進行心率值顯示,並且可以用流水燈進行測量狀態顯示。按照這幾個步驟便可以設計電路圖,將系統搭建起來。

主程式設計
將Pulse Sensor心率感測器採集函式、OLED 螢幕顯示函式以及按鍵函式等軟體程式在Keil5上設計好之後,根據總體設計要求,先是將所有需要初始化的模組進行初始化處理,然後AD採集函式進行實時執行,將採集到的資料傳遞到OLED顯示波形的函式中,OLED顯示函式將實時得到的資料存到一個陣列裡面,不斷地去重新整理,然後硬體上面便能夠實現在OLED螢幕上顯示波形曲線,然後通過也不斷檢測按鍵中斷是否被觸發,如果按鍵函式傳遞出的按鍵值是被按下的狀態,則立馬啟動心率計算的函式,將一分鐘的脈搏計算出來並且顯示到液晶螢幕上面去。

OLED波形顯示測試
OLED螢幕顯示波形這部分是AD轉化不斷將心率感測器輸出的模擬量轉化成數字量,因為AD的採集速度很快,就可以近似將採集的數字量給連續化,形成在時間點上很密集的資料,在這種情況下就可以在OLED螢幕上近似地顯示成一條連續的脈搏線,能夠形成示波器顯示一條連續的脈搏線在不斷的變化的效果。測試時通過手指接觸心率感測器來讓心率感測器採集資料,其中OLED螢幕顯示脈搏波形的測試如圖4.2所示。

心率值測試
最後一部分就是能夠將一分鐘的心率值給準確測試出來,測試中通過手指按壓心率感測器,等到OLED螢幕上面的波形穩定之後就按下按鍵進行心率值的測試,在經過一段時間之後,STM32就將計算的心率值顯示在OLED螢幕上, OLED螢幕顯示心率值的測試如圖4.3所示。

本文只摘取了設計中的部分文件內容,文件中所設計硬體系統好用,可作為課程設計以及其他電子製作,想要整體設計報告以及PCB檔案和程式需要私信,QQ:2859340499。
提供:
(程式:STM32的AD採集,控制OLED螢幕顯示波形)
(文件:內容詳細,按照課程設計要求編寫)
(pcb:整套板子的pcb設計)

相關文章