【项目背景】
每个人都想要属于自己的空间,但是藏在卧室却难免被父母发现,所以我做了一个只属于自己的保险箱
【原理分析】
拍摄一张主人照片后,存到电脑供对比使用。然后利用红外热释传感器检测前方是否有人经过。如果检测到人则开始拍照识别,和电脑中的主人照片进行对比。如果相似度大于90%则认为是本人,然后开锁,否则重新识别。
【器材连线】
人体红外热释电运动传感器接到P8引脚。继电器接到P12引脚。将与12V电源适配器相连的线分别接到继电器的COM和NA引脚,将电磁锁的两根线分别接到NO和NA引脚。连线图如下所示:
接好线如下:
【科普时间】
继电器实际上是一个电磁铁,因为电磁锁通电后会开锁,所以平时需要断开电源。NO代表电路常开,NC代表电路常闭。因此我们不需要连接NC。
步骤1 引入扩展
切换到实时模式,选择主控板为micro:bit。
选择“扩展”,选择【网络服务】选项下的【AI图像识别】。
选择【功能模块】下的【文字朗读】。
步骤2 更换舞台背景
选择背景库中的“Room 1”作为背景。
步骤3 编写代码
当绿旗被点击的时候捕获摄像头的人脸信息,和电脑中的主人照片进行比对。如果相似度大于90%,则认为是主人本人,开锁。
可是遇到了一个问题,摄像头对着天花板也能开锁。因此对代码进行了修改,只有人脸识别成功以后才进行人脸对比。
现在效果正常,但是只能拍照识别一次,因此需要加一个循环。
现在遇到的问题是,系统一直在捕获摄像头画面,一直在识别。感觉这样有点浪费网络资源,因此添加一个人体运动检测开关。只有检测到人体靠近时才开始拍照识别。
程序基本完美运行。为了获得更良好的用户体验,我们加上了一些语音提示。
因为人脸识别调用的是公用账户,识别次数有限制,因此我们去注册一个百度智能云应用。首先进入https://ai.baidu.com,点击右上角控制台。
使用百度账号登录。
完善个人信息。
点击左侧的图像识别。
选择页面中的“创建应用”按钮。
填写应用名称,勾选人脸识别及语音合成相关选项。
记录页面中的AppID、API Key、Secret Key信息。
在程序开始添加“切换至独立账户”,并将AppID、API Key、Secret Key填入。
至此代码编写完成。
步骤4 设计外观
找一个合适大小的纸箱子,将电磁锁用M3螺丝固定在箱子开口处。
将所有元器件和线材都整理放到箱子上面。因为人体红外热释电运动传感器不太好固定,所以更换成了BOSON套件里面的传感器。
最后效果图如下:
附件
DFSkoDYIwBI2020.03.12
摄像头型号有要求吗?需要安装摄像头驱动吗?
木子呢2020.01.14
66666