所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开
人脸识别保险箱
DennisChen DennisChen 2020-01-09 17:48:48
3
2
简单

【项目背景】

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

【原理分析】

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

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

【器材连线】

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

projectImage

接好线如下:

projectImage

【科普时间】

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

projectImage
步骤1 步骤1
引入扩展

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

projectImage

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

projectImage

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

projectImage
步骤2 步骤2
更换舞台背景

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

projectImage
步骤3 步骤3
编写代码

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

projectImage

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

projectImage

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

projectImage

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

projectImage

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

projectImage

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

projectImage

使用百度账号登录。

projectImage

完善个人信息。

projectImage

点击左侧的图像识别。

projectImage

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

projectImage

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

projectImage

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

projectImage

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

projectImage

至此代码编写完成。

步骤4 步骤4
设计外观

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

projectImage
projectImage

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

projectImage

最后效果图如下:

projectImage
Makelog作者原创文章,未经授权禁止转载。
3
2
评论
[[c.user_name]] [[c.create_time]]
[[c.parent_comment.count]]
[[c.comment_content]]