2017年8月30日星期三

使用Arduino开发板实现基于指纹识别的生物特征考勤系统



考勤系统通常用来记录办公室和学校人员的考勤情况。从手动登记出勤情况,到使用高科技应用和生物识别系统,这些系统已经得到显着改善。在这个项目中,我们使用指纹模块和Arduino开发板来保存考勤数据和记录。使用指纹传感器,系统将让用户变得更加安全。以下部分介绍了使用Arduino制作基于指纹的生物识别考勤系统的技术细节。

所需组件
■    Arduino开发板 -1
■    指纹模块-1
■    按钮 - 4
■    LED -1
■    1K电阻-2
■    2.2K电阻-1
■    电源
■    连接导线
■    蜂鸣器-1
■    16x2 LCD -1
■    面包板-1
■    RTC模块-1

项目简介
在该指纹考勤系统电路中,我们使用指纹传感器模块通过将他们的指纹输入到系统中来进行来认证真人或员工。在这里,我们使用4个按钮:ENROLL、删除、上/下。 ENROLL和DEL键有三重功能。 ENROLL键用于将新人员注册到系统中。所以当用户想要注册新手指时,他/她需要按ENROLL键,然后LCD要求ID,用户想存储指纹图像。现在如果在这个时候用户不想继续进行,那么他/她可以再次按ENROLL键返回。此时ENROLL键表现为Back键,即ENROLL键具有注册和返回功能。除了登记密钥也用于通过串行监视器下载考勤数据。类似地,DEL / OK键也具有相同的双重功能,就像用户注册新手指一样,然后他/她需要使用另一个两个键即UP和DOWN来选择手指ID。现在用户需要按DEL / OK键(此时此键的行为类似于OK)继续选择ID。并且Del键用于从Arduino的EEPROM复位或删除数据。


指纹传感器模块
指纹传感器模块捕捉手指的打印图像,然后将其转换为等效模板,并按Arduino的所选ID将其保存到其内存中。所有的过程都是由Arduino命令,如拍摄手指打印的图像,将其转换为模板并存储为ID等。
在这里,我们添加了一个黄色LED,指示指纹模块准备好拍摄手指的图像。蜂鸣器也用于各种指示。 Arduino是该系统的主要组成部分,负责整个系统的控制部分。

指纹考勤系统的工作过程
这种指纹考勤系统项目的工作相当简单。首先,用户需要在按钮的帮助下登录用户的指纹。为此,用户需要按ENROLL键,然后LCD将要求输入指纹的ID,并通过ID名称将其保存在内存中。所以现在用户需要使用UP / DOWN键输入ID。选择ID后,用户需要按OK键(DEL键)。现在LCD将要求将手指放在指纹模块上。现在用户需要将手指放在手指打印模块上,然后模块拿手指图像。现在液晶显示屏将会从指纹模块中删除手指,再次要求再次放置手指。现在用户需要重新放置手指,模块会将图像转换为模板并将其通过选定的ID存储到指纹模块的内存中。现在用户将被注册,他/她可以通过将手指放在指纹模块上进行出席。通过相同的方法,所有用户将被注册到系统中。

现在如果用户要删除或删除任何存储的ID或指纹,那么他/她需要按DEL键。一旦删除键被按下LCD将要求选择需要删除的ID。现在用户需要选择ID,然后按OK键(相同的DEL键)。现在LCD将让您知道指纹已成功删除。

指纹考勤系统项目中的出勤情况如何工作的:
每当用户将手指放在指纹模块上时,指纹模块将捕获手指图像,并在系统中搜索是否有任何ID与该指纹相关联。如果检测到指纹ID,则LCD将显示注册登记,同时蜂鸣器将发出一次蜂鸣声,并且LED将关闭,直到系统准备好再次进行输入。
与指纹模块一起,我们还使用RTC模块进行时间和日期。时间和日期在系统中不断运行。所以Arduino每当一个真实的用户将手指放在指纹上时都需要时间和日期,并将它们保存在内存分配的槽中的EEPROM中。
这里我们在这个系统中创建了5个用户空间30天。通过按Arduino中的RESET按钮,然后立即注册,将负责从Arduino EEPROM存储器通过串行监视器下载考勤数据。

内存管理:
我们在Arduino UNO中有1023字节的内存,我们有1018个字节存储数据,我们已经收到了5天的用户考勤数据30天。并且每次出席将记录时间和日期,这样就成为7字节的数据。
所以需要的总内存是
5 * 30 * 7 = 1050,所以这里我们需要更多的32个字节
但是如果我们将使用4个用户,那么我们需要
4 * 30 * 7 = 840
这里我们用5个用户的内存完成了这个项目的演示。这样,我们将无法存储第5位用户的32位或5位考勤记录。
您可以通过更改代码中的一些行来尝试4位用户。我在代码中提出了需要进行更改的意见。

指纹考勤系统工程电路图及描述
如上述的框图所示,该指纹考勤系统项目的电路非常简单。它有用于控制项目所有过程的Arduino开发板,用于注册、删除、选择ID和出席的按钮,用于警报的蜂鸣器,用于指示的LED和指示用户并显示所得到的消息的LCD。
finger-print-based-attendance-system-using-arduino-circuit_0.png (52.64 KB, 下载次数: 0)
2017-8-14 23:32 上传
如电路图所示,按钮直接连接到Arduino的引脚A0(ENROLL),A1(DEL),A2(UP),A3(DOWN),并且黄色LED连接到Arduino的数字引脚D7,另一端通过1k电阻连接到地。指纹模块的Rx和Tx直接连接到Arduino的串行引脚D2和D3(软件串行)。 5v电源用于为Arduino开发板上的指纹模块供电。蜂鸣器也连接在针A5。 16x2 LCD配置为4位模式,其RS、EN、D4、D5、D6和D7直接连接到Arduino的数字引脚D13、D12、D11、D10、D9和D8。

没有评论:

发表评论