—設計完整,功能可全部實現,有完整報告文檔說明、程序以及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設計)