[作品提交] 无接触的人脸识别门禁系统

manhuami2007   2022-10-23 10:14 楼主

无接触的人脸识别门禁系统

一、作品简介

疫情环境下,人们都不想触碰外面的东西,因此制作一个不需要接触的人脸识别门禁系统。当检测到人接近门的时候,才唤醒人脸识别设备,以节省功耗,当人脸识别通过后控制门开启。

100229cs1tz1vvh14b36zi.jpg

作品主要包括两部分:门的控制部分和人脸识别部分,两部分之间通过蓝牙BLE通信。其中门控制部分作为BLE的服务端,人脸识别部分作为BLE的客户端。

作品需要实现的功能主要包括:人脸识别、蓝牙BLE通信(包括服务端和客户端)、舵机控制、门磁开关驱动、接近传感器驱动。用到的开发板包括“Maix BiT Kit”、“BG22 - THUNDERBOARD”和“Arduino Nano 33 IOT”。其中“Maix BiT Kit”和“BG22 - THUNDERBOARD”组合在一起作为人脸识别部分和BLE的客户端,“Arduino Nano 33 IOT”用作门控制部分和BLE服务端。

二、系统框图

100229dkrz4uarwk7rwboz.png

本系统主要包括2部分:人脸识别部分和门的控制部分。

2.1 人脸识别部分

 

100229vunvnzja6aoydn6a.jpg

该部分包括2个开发板,分别是:Maix BIT和BG22-THUNDERBOARD。Maix BIT负责实现人脸识别的功能。BG22负责实现蓝牙BLE的客户端,通过BLE与门控制部分进行通信。两部分通过IO通信。

2.2 门控制部分

100229w8yyynyrtywmdw0y.jpg

 

该部分包含多个传感器数据的采集,以及通过舵机控制门的开关,同时作为蓝牙BLE的服务端。

100229qrgozx2htrt2ddzr.png

三、各部分功能说明

3.1 Maix BIT部分

程序流程图如下:

100229x5somzs0ir46p4yf.png

Maix BIT通过1个输入引脚user_in_gpio和1个输出引脚user_out_gpio与BG22 - THUNDERBOARD开发板进行通信。

Maix BIT使能user_in_gpio引脚的下降沿中断。当“BG22 - THUNDERBOARD”发送人脸检测信号时,会将这个引脚拉低。Maix BIT检测到中断后,设置“人脸识别标志位”,使主流程开始人脸识别流程,同时打开LCD和摄像头。

当主流程检测到“人脸识别标志位”置位后,开始人脸识别流程,当人脸识别通过后,在user_out_gpio引脚上产生一个100ms的低电平脉冲,用于告知“BG22 - THUNDERBOARD”人脸识别通过,并且关闭LCD和摄像头,来节省功耗。

3.2 BG22-THUNDERBOARD部分

程序流程图如下:

100229bm6atuh3uwmj35ma.png

BG22作为BLE的客户端,是人脸识别与门控部分沟通的桥梁。BG22需要获取门控部分发送的人脸识别的通知,然后通过拉低user_in_gpio引脚告知Maix BIT开发板开始人脸识别,然后检测user_out_gpio引脚判断人脸识别是否通过,当人脸识别通过后再通过BLE向门控部分的BLE服务端写入开门的特性值。

3.3 Arduino nano 33 iot部分

程序流程图如下:

100229eoze5k2w210ru7gb.png

Arduino Nano 33 iot 连接了三个外设:门磁开关PS3150、接近开关APDS9960和舵机SG90。其中门磁开关负责检测门是否开启,接近开关用于检测是否有人在门前,舵机则是控制门的开关。同时Arduino Nano 33 iot开发板也作为蓝牙BLE的服务端,当接近开关检测到人的靠近后,会向BLE的客户端发送notify,通知其进行人脸检测。当检测到开门的特性值被写入后,控制舵机开门,3s后自动关门。Arduino Nano 33 iot通过检测门磁开关,判断门是否开启。

四、作品源码

包括3个开发板的源码:(资源正在审核,先把链接粘贴到这里了)

1. Arduino nano 33 iot源码

https://download.eeworld.com.cn/detail/manhuami2007/625229

Arduino nano 33 iot door_ctrl.rar (1.72 KB)
(下载次数: 7, 2022-10-23 10:12 上传)

2. BG22-THUNDERBOARD蓝牙BLE客户端代码

https://download.eeworld.com.cn/detail/manhuami2007/625230

BG22-THUNDERBOARD蓝牙BLE客户端代码.rar (58.97 MB)
(下载次数: 8, 2022-10-23 10:13 上传)

3. Maix bit源码

https://download.eeworld.com.cn/detail/manhuami2007/625231

MaixBit人脸识别源码.rar (983.19 KB)
(下载次数: 6, 2022-10-23 10:13 上传)

五、功能演示视频

2022得捷电子创新设计大赛-无接触的人脸识别门禁系统-2022得捷电子创新设计大赛-无接触的人脸识别门禁系统-EEWORLD大学堂

视频中包括系统介绍和功能演示。

六、项目总结

这次活动挺不错的,可以自己选择开发板选择器件,大大的增加了活动的灵活性和自主性。通过这次活动也学习到了3个不同开发板的用法。接触到了人脸识别的知识和microPython的语法,学习了silicon蓝牙芯片的用法,学到了Arduino BLE库的用法。通过这次活动也把BLE的客户端和服务端的应用都做了一遍,收获很多。感谢得捷和EEWORLD论坛的活动。

帖子的链接:

【无接触的人脸识别门禁系统】+开箱贴 - 2022得捷电子创新设计大赛 - 电子工程世界-论坛 (eeworld.com.cn)

【无接触的人脸识别门禁系统】+ 1-MAIX_BIT开发环境的搭建 - 2022得捷电子创新设计大赛 - 电子工程世界-论坛 (eeworld.com.cn)

【无接触的人脸识别门禁系统】+ 2-系统组成与功能 - 2022得捷电子创新设计大赛 - 电子工程世界-论坛 (eeworld.com.cn)

【无接触的人脸识别门禁系统】+ 3-Arduino的蓝牙BLE库 - 2022得捷电子创新设计大赛 - 电子工程世界-论坛 (eeworld.com.cn)

【无接触的人脸识别门禁系统】+ 4-门控制部分的实现 - 2022得捷电子创新设计大赛 - 电子工程世界-论坛 (eeworld.com.cn)

【无接触的人脸识别门禁系统】+ 5-EFR32BG22蓝牙主机的创建 - 2022得捷电子创新设计大赛 - 电子工程世界-论坛 (eeworld.com.cn)

【无接触的人脸识别门禁系统】+ 6-EFR32BG22使用GPIO - 2022得捷电子创新设计大赛 - 电子工程世界-论坛 (eeworld.com.cn)

七、作品提交的文档

无接触的人脸识别门禁系统-作品提交.doc (742 KB)
(下载次数: 9, 2022-10-23 10:10 上传)
本帖最后由 manhuami2007 于 2022-10-23 10:14 编辑

回复评论 (4)

11

点赞  2022-10-23 15:04

有意思,我开始以为是要弄个乐高小人做人脸识别 嘿嘿

加油!在电子行业默默贡献自己的力量!:)
点赞  2022-10-24 16:55
引用: soso 发表于 2022-10-24 16:55 有意思,我开始以为是要弄个乐高小人做人脸识别 嘿嘿

用乐高小人做人脸识别的想法很有意思

点赞  2022-10-24 17:04
引用: manhuami2007 发表于 2022-10-24 17:04 用乐高小人做人脸识别的想法很有意思

看到你用乐高搭房子,就觉得想法挺好 哈哈

加油!在电子行业默默贡献自己的力量!:)
点赞  2022-10-24 17:29
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复