一、項目名稱
樹莓派疲勞駕駛鬧鐘
二、項目概述
本項目是基于樹莓派5的疲勞檢測鬧鐘,當駕駛員出現(xiàn)閉眼,打哈欠等疲勞行為時,能夠及時發(fā)出報警進行提醒制止。
本作品自行設計了3d外殼,使得外觀造型更具美感,除了車上也可放置于任何其他需要疲勞檢測的場所。
項目流程大致如下:
1.通過攝像頭捕獲畫面然后基于mediapipe框架進行人臉3D關鍵點分析,得到眼睛輪廓和嘴巴輪廓的具體坐標,再通過歐拉距離公式計算得出眼睛和嘴巴的閉合程度,通過算法會轉(zhuǎn)換成疲勞值并累積,當超過設定閾值后會觸發(fā)報警。
2.為了保證報警效果,采取物理機械打鈴的方式來確保叫醒。通過DC直流電機馬達驅(qū)動板來由樹莓派引腳控制電機帶動偏心輪旋轉(zhuǎn)。
3.為了實現(xiàn)機械打鈴的結構,建模設計了模擬鬧鐘的3d結構,在內(nèi)部安裝了樹莓派5、攝像頭、DSI屏幕以及電機驅(qū)動板,并且實現(xiàn)偏心輪帶動擺錘打鈴的效果。
4.為了提升作品美感和效果,選用了微雪3.4寸DSI屏幕來作為顯示屏幕,分辨率800x800,保證了顯示精細度和流暢度,待機采用動畫形式,能夠適應任何車內(nèi)環(huán)境不至于突兀。
項目重難點:
1.程序全部由純python實現(xiàn),由于樹莓派5較新,譬如引腳控制、攝像頭調(diào)用等在樹莓派4很容易搜索到教程的方法都不再適用,因此參考了樹莓派官方的文檔和國外論壇的一些帖子,才最終得以實現(xiàn)。
2.鬧鐘的結構設計,參考資料不多,反復嘗試最終才做出了現(xiàn)在的版本。
3.為了實現(xiàn)流暢的ui動畫,使用pyside做為框架設計界面。
硬件清單:
-樹莓派5(比賽官方提供報銷)
-微雪3.4寸 800x800 DSI 屏幕
-微雪 IMX219 120視場角 DSI 攝像頭
-直流電機及驅(qū)動板
-3d打印外殼 嘉立創(chuàng)面板(背板) 螺絲若干
-從實體鬧鐘拆下的鈴鐺和擺錘
軟件重點使用的庫:
-Pyside6
-mediapipe
三、作品實物圖
1.整體外觀
2.內(nèi)部結構1
3.內(nèi)部結構2
四、演示視頻
五、項目文檔
完整的源碼、UI素材、3d模型可以在GITHUB或者通過本論壇的附件獲得
GITHUB項目地址:jd3096-mpy/RP5-CLOCK