回答

收藏

《2024DigiKey汽车应用创意挑战赛》疲劳驾驶闹钟

#竞赛 #竞赛 990 人阅读 | 0 人回复 | 2025-01-14

本帖最后由 eefocus_4036385 于 2025-3-4 15:26 编辑

一、项目名称
树莓派疲劳驾驶闹钟

二、项目概述
本项目是基于树莓派5的疲劳检测闹钟,当驾驶员出现闭眼,打哈欠等疲劳行为时,能够及时发出报警进行提醒制止。
本作品自行设计了3d外壳,使得外观造型更具美感,除了车上也可放置于任何其他需要疲劳检测的场所。

项目流程大致如下:
1.通过摄像头捕获画面然后基于mediapipe框架进行人脸3D关键点分析,得到眼睛轮廓和嘴巴轮廓的具体坐标,再通过欧拉距离公式计算得出眼睛和嘴巴的闭合程度,通过算法会转换成疲劳值并累积,当超过设定阈值后会触发报警。
2.为了保证报警效果,采取物理机械打铃的方式来确保叫醒。通过DC直流电机马达驱动板来由树莓派引脚控制电机带动偏心轮旋转。
3.为了实现机械打铃的结构,建模设计了模拟闹钟的3d结构,在内部安装了树莓派5、摄像头、DSI屏幕以及电机驱动板,并且实现偏心轮带动摆锤打铃的效果。
4.为了提升作品美感和效果,选用了微雪3.4寸DSI屏幕来作为显示屏幕,分辨率800x800,保证了显示精细度和流畅度,待机采用动画形式,能够适应任何车内环境不至于突兀。

项目重难点:
1.程序全部由纯python实现,由于树莓派5较新,譬如引脚控制、摄像头调用等在树莓派4很容易搜索到教程的方法都不再适用,因此参考了树莓派官方的文档和国外论坛的一些帖子,才最终得以实现。
2.闹钟的结构设计,参考资料不多,反复尝试最终才做出了现在的版本。
3.为了实现流畅的ui动画,使用pyside做为框架设计界面。

硬件清单:
  • 树莓派5(比赛官方提供报销)
  • 微雪3.4寸 800x800 DSI 屏幕
  • 微雪 IMX219 120视场角 DSI 摄像头
  • 直流电机及驱动板
  • 3d打印外壳 嘉立创面板(背板) 螺丝若干
  • 从实体闹钟拆下的铃铛和摆锤

软件重点使用的库:
  • Pyside6
  • mediapipe

三、作品实物图
1.整体外观
2.内部结构1
3.内部结构2

四、演示视频

五、项目文档
完整的源码、UI素材、3d模型可以在GITHUB或者通过本论坛的附件获得
GITHUB项目地址:jd3096-mpy/RP5-CLOCK
疲劳驾驶闹钟资料包.zip (23.47 MB, 下载次数: 40)



分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条