风筝
发表于: 2020-2-28 10:35:13 | 显示全部楼层

安全性是我们日常生活中需要着重考虑的事情,数字锁已成为这些安全系统的重要组成部分。基于指纹传感器的系统是最安全的门锁系统之一,因为它具有识别和区分每个人的能力,而不会出错。基于指纹的安全系统可以在工业、办公室和学校等许多地方使用,甚至可以在我们的家中使用。


该项目是生物识别技术和嵌入式系统技术的完美结合。我们已经看到过基于密码的安全系统和基于RFID的安全系统,它们是不安全的,任何人都可以访问。指纹的主要特征在于它是唯一的。它提供了比其他安全系统更高的安全级别。


因此在本篇文章中,我们将学习如何制作基于ESP32和指纹传感器的门锁安全系统。我们将R305指纹传感器模块连接到ESP32开发板,使用电磁阀锁定/打开门锁,同时使用0.96英寸SSD1306 OLED显示屏将显示匹配/不匹配的指纹和门的锁定和解锁状态。


所需的组件

●    ESP32开发板

●    R305 / R307指纹传感器

●    0.96英寸OLED显示屏

●    12V电磁锁

●    5V继电器

●    蜂鸣器

●    BC547 NPN晶体管

●    12V电源适配器

Components.jpg


R305指纹传感器模块

R305指纹传感器内部集成一个高性能的DSP芯片,可以进行图像渲染、计算、特征查找和搜索。使用TTL串行连接到任何微控制器或系统,并发送数据包以拍照、检测打印、哈希和搜索。您也可以直接注册新指纹-板载闪存中最多可以存储162个指纹。镜头中有一个红色LED指示灯,在拍摄过程中会亮起,以便您了解其正在工作中。

R305-Fingerprint-Sensor.jpg


指纹处理包括两部分:指纹注册和指纹匹配(匹配可以为1:1或1:N)。在注册时,用户需要输入两次手指。系统将处理两次手指图像,基于处理结果生成手指模板并存储该模板。当匹配时,用户通过光学传感器输入手指,系统将生成手指的模板并将其与手指库的模板进行比较。对于1:1匹配,系统会将测试手指与模块中指定的特定模板进行比较;对于1:N匹配或搜索,系统将在整个手指库中搜索匹配的手指。在这两种情况下,系统都会返回匹配结果(成功或失败)。


0.96英寸OLED显示屏

以下是一个0.96英寸的蓝色OLED显示模块。显示模块可以使用SPI / IIC协议与任何微控制器接口。分辨率为128×64。包装包括显示电路板、显示屏、预焊接到板上的4针公接头。

0.96-OLED-Display.jpg


OLED(有机发光二极管)是一种自发光技术,由置于阳极和阴极之间的多层有机薄膜组成。与LCD技术相比,OLED不需要背光。 OLED在几乎所有类型的显示器中都具有很高的应用潜力,并且被认为是下一代平板显示器的终极技术。


电磁锁

12V电磁锁具有一个带有倾斜切口的凸耳和一个安装支架。它实际上是一种电子锁,专为橱柜、保险箱或门锁而设计。施加9-12VDC电压时,锁销会拉入,可以打开门。这时它不使用任何电源。对于自动门锁系统而言,安装非常容易。


门锁安全系统的电路连接

以下是基于ESP32和R305指纹传感器的生物特征门锁安全系统的电路原理图。 ESP32是电路的主控,可以控制所有其他组件,包括指纹传感器、电磁锁、OLED显示屏,蜂鸣器等。该原理图是在EasyEDA中设计的。

Circuit-Diagram.jpg

在面包板上组装如此多的组件非常困难。因此,我们制作了一块PCB并将其焊接以使其易于组装。最终的组装电路如下。

ESP32-Fingerprint-Lock.jpg


源代码:注册指纹

在使用该门锁安全系统之前,您需要注册指纹。注册的指纹可以用来打开门。未注册的用户将无法获得任何访问权限。下面给出了注册指纹的代码链接。在github下载此代码并将其上传到ESP32开发板。


但在此之前,请添加以下库:

1.  指纹传感器库

2.  Adafruit GFX库

3.  SSD1306 OLED库


上载代码后,您可以打开串口监视器并将波特率设置为57600。然后可以按照串口监视器界面中的指示注册指纹。

Enrolling-Fingerprint.jpg


在注册时,用户需要输入两次指纹。系统将处理两次指纹图像,基于处理结果生成指纹模板并存储该模板。当匹配指纹时,用户通过光学传感器输入指纹,系统将生成指纹的模板并将其与指纹库的模板进行比较。


门锁安全系统的源代码

注册指纹完成后,您可以将完整代码上传到ESP32开发板。该代码能够根据匹配和不匹配的情况来锁定和解锁门。完整代码链接:位于github的 Door Lock.ino


系统操作与运行结果

上载代码后,OLED将显示指纹图标,并且指纹传感器将开始闪烁,并给出放置指纹的指示。

1.jpg

如果将未注册的指纹放在传感器上,则OLED将显示“Invalid Finger, Try try again”。这时,继电器没有打开电磁锁,因此门不会打开。

2.jpg

如果将已注册的指纹放在传感器上,则OLED将显示“Door Unlocked, Welcome”。这时,继电器打开电磁锁,门锁将打开。

3.jpg

跳转到指定楼层
四月冰枫
发表于: 2020-4-19 16:41:21 | 显示全部楼层

大神,两个代码的下载网页我打不开,可以打包一下,本地下载或者分享到网盘吗?
回复

使用道具 举报

lxj2405
发表于: 2021-3-30 20:30:54 | 显示全部楼层

代码网页失效了,可以重新分享吗
回复

使用道具 举报

风筝
发表于: 2021-4-12 14:09:45 | 显示全部楼层

本帖最后由 风筝 于 2021-4-12 15:16 编辑
lxj2405 发表于 2021-3-30 20:30
代码网页失效了,可以重新分享吗

代码链接: Fingerprint Door Lock.rar (1.98 KB, 下载次数: 104)
指纹注册的代码: Finger Enroll.rar (1.12 KB, 下载次数: 76)
回复

使用道具 举报

HHchong
发表于: 2022-4-12 19:17:50 | 显示全部楼层

风筝 发表于 2021-4-12 14:09
代码链接:
指纹注册的代码:

压缩包里面的打开项目失败了
回复

使用道具 举报

风筝
发表于: 2022-4-13 08:32:21 | 显示全部楼层

HHchong 发表于 2022-4-12 19:17
压缩包里面的打开项目失败了

新建一个工程,然后复制代码
回复

使用道具 举报

samurai
发表于: 2022-4-25 10:48:19 | 显示全部楼层

指纹注册代码里面说Serial2没有声明什么意思
回复

使用道具 举报

风筝
发表于: 2022-4-25 15:12:00 | 显示全部楼层

samurai 发表于 2022-4-25 10:48
指纹注册代码里面说Serial2没有声明什么意思

需要添加串口库文件
回复

使用道具 举报

HHchong
发表于: 2022-4-28 22:22:30 | 显示全部楼层

注册代码网页失效,压缩包里的文件也打不开,大神可以再发一次嘛
我用Aruino指纹注册库但是一直显示找不到传感器(尝试过改RX0和TXO引脚但是也显示找不到传感器)想问问大神是什么原因
回复

使用道具 举报

samurai
发表于: 2022-5-19 13:55:13 | 显示全部楼层

请问制作的PCB是什么样的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 54 | 回复: 107



手机版|

GMT+8, 2024-4-24 19:28 , Processed in 0.041143 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表