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