人脸识别保险箱

2020-01-083686
AI 快速预览详细 收起
本文介绍了如何制作一个人脸识别保险箱。项目使用了micro:bit开发板、DFRobot的12V斜口电磁锁、人体红外热释电运动传感器等组件。通过拍摄主人照片并与实时画面进行比对,实现了安全可靠的开锁功能。项目中还加入了循环拍照和人体运动检测开关,优化了系统资源的使用,并提高了用户体验。

【项目背景】

每个人都想要属于自己的空间,但是藏在卧室却难免被父母发现,所以我做了一个只属于自己的保险箱

【原理分析】

拍摄一张主人照片后,存到电脑供对比使用。然后利用红外热释传感器检测前方是否有人经过。如果检测到人则开始拍照识别,和电脑中的主人照片进行对比。如果相似度大于90%则认为是本人,然后开锁,否则重新识别。

project-image

材料清单

  • 罗技C270摄像头 X1 链接
  • 12V斜口电磁锁 X1 链接
  • 人体红外热释电运动传感器 X1 链接
  • 数字继电器模块 X1 链接
  • micro:bit 编程入门开发板 X1 链接
  • micro:Mate 扩展板 X1 链接
  • 高品质 micro USB数据线 X1 链接
  • 12V/1000mA开关电源适配器 X1 链接

【器材连线】

人体红外热释电运动传感器接到P8引脚。继电器接到P12引脚。将与12V电源适配器相连的线分别接到继电器的COM和NA引脚,将电磁锁的两根线分别接到NO和NA引脚。连线图如下所示:

project-image

接好线如下:

project-image

【科普时间】

继电器实际上是一个电磁铁,因为电磁锁通电后会开锁,所以平时需要断开电源。NO代表电路常开,NC代表电路常闭。因此我们不需要连接NC。

project-image

步骤1 引入扩展

切换到实时模式,选择主控板为micro:bit。

project-image

选择“扩展”,选择【网络服务】选项下的【AI图像识别】。

project-image

选择【功能模块】下的【文字朗读】。

project-image

步骤2 更换舞台背景

选择背景库中的“Room 1”作为背景。

project-image

步骤3 编写代码

当绿旗被点击的时候捕获摄像头的人脸信息,和电脑中的主人照片进行比对。如果相似度大于90%,则认为是主人本人,开锁。

project-image

可是遇到了一个问题,摄像头对着天花板也能开锁。因此对代码进行了修改,只有人脸识别成功以后才进行人脸对比。

project-image

现在效果正常,但是只能拍照识别一次,因此需要加一个循环。

project-image

现在遇到的问题是,系统一直在捕获摄像头画面,一直在识别。感觉这样有点浪费网络资源,因此添加一个人体运动检测开关。只有检测到人体靠近时才开始拍照识别。

project-image

程序基本完美运行。为了获得更良好的用户体验,我们加上了一些语音提示。

project-image

因为人脸识别调用的是公用账户,识别次数有限制,因此我们去注册一个百度智能云应用。首先进入https://ai.baidu.com,点击右上角控制台。

project-image

使用百度账号登录。

project-image

完善个人信息。

project-image

点击左侧的图像识别。

project-image

选择页面中的“创建应用”按钮。

project-image

填写应用名称,勾选人脸识别及语音合成相关选项。

project-image

记录页面中的AppID、API Key、Secret Key信息。

project-image

在程序开始添加“切换至独立账户”,并将AppID、API Key、Secret Key填入。

project-image

至此代码编写完成。

步骤4 设计外观

找一个合适大小的纸箱子,将电磁锁用M3螺丝固定在箱子开口处。

project-image
project-image

将所有元器件和线材都整理放到箱子上面。因为人体红外热释电运动传感器不太好固定,所以更换成了BOSON套件里面的传感器。

project-image

最后效果图如下:

project-image

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

所需材料/产品

加载全部

    Gravity: 数字继电器模块 - 兼容Arduino和树莓派

    Gravity: 数字继电器模块 - 兼容Arduino和树莓派

    Gravity: 数字继电器模块 - 兼容Arduino和树莓派

    micro:bit V1.5 编程入门开发板

    micro:bit V1.5 编程入门开发板

    micro:bit V1.5 编程入门开发板

    Gravity: micro:Mate—最小的micro:bit多功能I/O扩展板

    Gravity: micro:Mate—最小的micro:bit多功能I/O扩展板

    Gravity: micro:Mate—最小的micro:bit多功能I/O扩展板

相关推荐

评论(0)
- 没有更多了 -

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

相关推荐

所需材料/产品

Gravity: 数字继电器模块 - 兼容Arduino和树莓派

Gravity: 数字继电器模块 - 兼容Arduino和树莓派

Gravity: 数字继电器模块 - 兼容Arduino和树莓派

micro:bit V1.5 编程入门开发板

micro:bit V1.5 编程入门开发板

micro:bit V1.5 编程入门开发板

Gravity: micro:Mate—最小的micro:bit多功能I/O扩展板

Gravity: micro:Mate—最小的micro:bit多功能I/O扩展板

Gravity: micro:Mate—最小的micro:bit多功能I/O扩展板

加载全部