更新时间:2026-03-08
点击次数:
。当检测到人接近门的时候,才唤醒人脸识别设备,以节省功耗,当人脸识别通过后控制门开启。
作品主要包括两部分:门的控制部分和人脸识别部分,两部分之间通过蓝牙BLE通信。其中门控制部分作为BLE的服务端,人脸识别部分作为BLE的客户端。
作品需要实现的功能主要包括:人脸识别、蓝牙BLE通信(包括服务端和客户端)、舵机控制、门磁开关驱动、接近传感器驱动。用到的开发板包括“Maix BiT Kit”、“BG22 - THUNDERBOARD”和“Arduino Nano 33 IOT”。其中“Maix BiT Kit”和“BG22 - THUNDERBOARD”组合在一起作为人脸识别部分和BLE的客户端,“Arduino Nano 33 IOT”用作门控制部分和BLE服务端。
该部分包括2个开发板,分别是:Maix BIT和BG22-THUNDERBOARD。Maix BIT负责实现人脸识别的功能。BG22负责实现蓝牙BLE的客户端,通过BLE与门控制部分进行通信。两部分通过IO通信。
该部分包含多个传感器数据的采集,以及通过舵机控制门的开关,同时作为蓝牙BLE的服务端。
Maix BIT使能user_in_gpio引脚的下降沿中断。当“BG22 - THUNDERBOARD”彩神IIV登录首页发送人脸检测信号时,会将这个引脚拉低。Maix BIT检测到中断后,设置“人脸识别标志位”,使主流程开始人脸识别流程,同时打开LCD和摄像头。
当主流程检测到“人脸识别标志位”置位后,开始人脸识别流程,当人脸识别通过后,在user_out_gpio引脚上产生一个100ms的低电平脉冲,用于告知“BG22 - THUNDERBOARD”人脸识别通过,并且关闭LCD和摄像头,来节省功耗。
BG22作为BLE的客户端,是人脸识别与门控部分沟通的桥梁。BG22需要获取门控部分发送的人脸识别的通知,然后通过拉低user_in_gpio引脚告知Maix BIT开发板开始人脸识别,然后检测user_out_gpio引脚判断人脸识别是否通过,当人脸识别通过后再通过BLE向门控部分的BLE服务端写入开门的特性值。
Arduino Nano 33 iot 连接了三个外设:门磁开关PS3150、接近开关APDS9960和舵机SG90。其中门磁开关负责检测门是否开启,接近开关用于检测是否有人在门前,舵机则是控制门的开关。同时Arduino Nano 33 iot开发板也作为蓝牙BLE的服务端,当接近开关检测到人的靠近后,会向BLE的客户端发送notify,通知其进行人脸检测。当检测到开门的特性值被写入后,控制舵机开门,3s后自动关门。Arduino Nano 33 iot通过检测门磁开关,判断门是否开启。
得捷大赛获奖作品分享,查看更多大赛作品,在【EEWorld-论坛】搜关键词“DigiKey创意大赛,与原作者一起交流。
2022得捷电子创新设计大赛-无接触的人脸识别门禁系统-2022得捷电子创新设计大赛-无接触的人脸识别门禁系统-EEWORLD大学堂
这次活动挺不错的,可以自己选择开发板选择器件,大大的增加了活动的灵活性和自主性。通过这次活动也学习到了3个不同开发板的用法。接触到了人脸识别的知识和microPython的语法,学习了silicon蓝牙芯片的用法,学到了Arduino BLE库的用法。通过这次活动也把BLE的客户端和服务端的应用都做了一遍,收获很多。感谢得捷和EEWORLD论坛的活动。

扫码加微信
服务热线
沈阳市于洪区马三家镇王家村
caishenvl@xrjspt.com
Copyright © 2025 彩神股份有限公司 版权所有 备案号:辽ICP备2022006933号-1