摘要:隨著互聯網時代的發展, 人們對于電腦的依賴越來越強, 電腦在造福我們人類的同時對我們人體的健康也造成了一定危害, 過度疲勞、猝死、電腦職業病等層出不窮, 基于此現狀我們研制了一款智能防疲勞鼠標, 旨在將心率傳感器安放在合適位置使得人在接觸鼠標的同時也會將人的健康狀況反映在電腦上位機, 使得電腦使用者對自己的健康狀況有所了解。
1、智能防疲勞鼠標工作原理
我們基于STC12C5A60S2及STC89C52RC兩款單片機設計出可以監測人體心率值并做出預警的防疲勞鼠標, 其中STC12C5A60S2單片機負責將pulse sensor心率傳感器采集到的數據處理后由NRF24L01模塊傳至電腦上位機, STC89C52RC單片機用來實現鼠標功能。此設計由pulse sensor心率傳感器實時監測人體脈搏, 將監測值交給STC12C5A60S2單片機分析, 并通過NRF24L01通信向電腦上位機傳遞心率值, 由電腦上位機軟件進行數據處理, 以小窗口形式顯示, 如果脈搏值過高則通過軟件指示燈進行提醒, 而STC89C52RC用來實現鼠標的滾輪、左鍵、右鍵、光標的移動等功能。
2、鼠標模塊介紹
2.1 主控制器
考慮到成本以及裝置的運行穩定性, 我們采用我們采用STC89C52RC及STC12C5A60S2兩款控制芯片, 其中增強型STC12C5A60S2單片機擁有44個引腳。由于采用其增強型, 提高了運算速度, 是高速、低功耗、抗干擾強的新一代8051單片機, STC89C52RC擁有40個引腳, 使用經典的MCS-51內核, 但做了許多改進, 擁有靈巧的8位CPU和在系統可編程Flash, 相比普通的8051單片機其工作頻率顯著提高, 有利于鼠標控制。
2.2 pulse sensor脈搏傳感器
pulse sensor是一款用于脈搏測量的光電反射式模擬傳感器, 傳感器接口一共有3個, 分別為脈搏信號輸出, 5v或3.3v電源輸入以及接地。它是通過檢測透過手指的光強可以間接測量到人體的脈搏信號。其中STC12單片機的P1.0作為模擬輸入端口, 將采集到的心率值傳給單片機處理。
2.3 PDIUSBD12芯片
PDIUSBD12是一款性能較優的USB器件, 它符合USB1.1協議規范, 與任何微控制器、微處理器有高達2MB/s的并行接口, 主端口有雙緩存配置, 增加吞吐量, 容易實現實時數據傳輸, 芯片原理圖見下圖1.
1-1P62Q555104N.jpg (55.16 KB, 下載次數: 28)
下載附件
2019-5-22 16:02 上傳
3、程序與上位機設計
3.1 程序設計
一個51單片機不能同時采集與處理心率傳感器數據并實現鼠標功能, 會產生時序沖突, 所以用了STC12單片機來單獨采集處理心率數據并上傳給電腦, 即心率部分首先采樣, 主要通過ADC單元來采樣傳感器輸出的脈搏模擬信號, 在這里調整采樣頻率, 即每2MS中斷一次, 讀取AD值;為了避免干擾, 在程序中每隔0.6個IBI (兩次心跳時間差) 值再跟蹤脈搏的上升, 之后根據相鄰兩個脈搏波的上升段中間值之差來確定IBI數值。
STC89C52單片機控制的鼠標部分則通過定義Buf[]數組存儲X軸、Y軸以及按鍵信息, 并將信息通過USB協議傳至電腦, 控制電腦光標移動。滾輪上連到單片機的P2.3口, 滾輪下連至單片機的P2.2口, 滾輪右連至單片機的P2.0口, 滾輪左連至單片機的P2.1口, 由單片機查詢按鍵情況, 微控制器的P0口連接USB接口芯片的數據引腳口D0至D7, 實現數據的在微控制器和USB接口芯片間的交換。微控制器的P3.5腳接USB接口芯片的A0腳, 實現對數據或地址寫入, USB接口芯片的INT_N腳, 與微控制器的P2.7腳相接, 實現對中斷事件的捕捉。USB接口芯片的差分數據線D+, D-通過標準的USB插頭與主機即PC機相連, 實現數據在主機和USB接口芯片間的傳遞。
3.2 上位機設計
我們用VB開發出一款心率監測上位機軟件, 窗體工具欄由串口號、運行以及退出組成, 可供選擇的串口號從COM1~COM10, 設置上位機正常心率范圍從60到100次/分, 當心率超出此范圍時上位機軟件指示燈由綠變紅。當然, 實際中可根據需要調節心率正常值范圍。
4、結束語
綜合考慮到成本以及產品性能質量的要求, 我們將會進一步采用一個32單片機取代兩個51單片機, 這樣能使設計更加集成化、小型化, 除此之外, 在上位機的設計上我們還將更多的考慮設計人性化界面進而達到鼠標貼合用戶需要層面。
|