众所周知,适当的考勤管理系统对任何类型的机构都至关重要。由于纸质人工考勤方法涉及很多实际问题,因此如今几乎所有公司都已将其考勤管理流程自动化。
在本篇文章中,我们将向您介绍如何使用Arduino开发板、指纹传感器和SD卡模块制作自己的考勤管理系统。如果您是工程专业的学生,那么这个项目可能是最佳选择。而且,容易制作,时间短,预算不会太大。
所需组件
● Arduino Uno或Mega开发板
● R305 / R307指纹模块
● 带I2C模块的1602 LCD
● 2个按钮
● 2个LED
● 2个10K欧姆电阻
● 面包板和跳线

所需的库文件
● Adafruit指纹传感器库
● LiquidCrystal I2C库
● SD Arduino库
接线硬件
即使接线图看起来很复杂,制作起来也很简单。

为了获得用户输入,指纹扫描仪直接与Arduino交互。 LCD模块和LED指示输出结果。 SD卡模块将出勤记录保存在SD卡上。可以使用两个或多个按钮来控制不同的过程。

让我们研究一下每个模块如何与Arduino进行交互。
R305扫描仪与Arduino的连接
R305 / R307指纹扫描仪具有TTL UART接口,可以直接连接到Arduino的UART引脚。

SD卡模块与Arduino的连接
SD卡模块通过串行外围接口(SPI)通信协议与Arduino通信。它可以简单地连接到Arduino的硬件SPI引脚。

带I2C模块的LCD与Arduino的连接
顾名思义,LCD模块通过I2C通信与Arduino通信。

最后,可以如下图所示连接两个LED和按钮。

指纹扫描仪系统概述
以下框图显示了系统的基本概述。

指纹传感器和按钮用作输入模块。在这里,我使用两个按钮进行注册和身份识别过程。当我们要注册新用户时,必须按下注册按钮以开始注册过程。按下考勤按钮后,手指将被验证以标记出勤。 LCD模块和LED充当输出模块。他们将打印消息和错误以给出该过程的输出。
指纹保存在指纹传感器的闪存中。 R305模块本身执行指纹收集、比较和搜索。经过验证的指纹的ID保存在SD卡上的文本文件中。我们可以通过从模块中卸下microSD卡来使用该出勤报告。
Arduino代码
该项目的Arduino代码相当长。
我将基于两个主要过程来解释代码:
● 指纹注册
● 指纹识别和考勤
指纹注册流程
指纹传感器的所有功能均由Adafruit指纹传感器库控制。该库包含驱动指纹扫描仪的方法和功能。
在这里,我创建了一个名为getFingerprintEnroll()的函数来注册新的指纹。调用此函数后,传感器将接收两次指纹扫描(指纹图片)。然后,通过将这两次扫描合并到内置数据库中的256个条目之一来保存指纹图像。如果由于手指放置错误而无法正确捕获图像,您将一直收到错误消息。
在存储指纹时,我们必须在考虑传感器存储的同时确定数据库位置。

如您所见,我们首先必须找到已存储在传感器中的指纹数量。我们可以使用getTemplateCount()函数获得该数字。由于存储位置编号从0开始,因此通过将数字增加1来设置ID。ID号是全局变量。因此,存储指纹时,分配的ID号将在getFingerprintEnroll()函数中使用。
指纹识别与标记考勤过程
在考勤标记过程中,将调用getFingerprintIDez()函数。此函数接收用户的指纹并使用已存储的指纹进行检查。
如果手指不在数据库中,则扫描仪将返回错误代码。如果手指匹配,它将返回用户ID号。
我已将ID号转换为字符串变量,以将其存储在SD卡中。最后,您将获得如下的出勤报告:

指纹考勤系统演示
如您所见,该项目的最终产品可以制作为便携式设备。在注册过程中,用户必须提供两次指纹。这意味着每个用户都必须将手指从扫描仪上移开,然后再次放回原处才能进行记录。
在出勤过程中,我们需要按下开始按钮(蓝色按钮)以开始该过程。 LCD显示屏提示“Place the Finger”消息,以使我们知道该过程已开始。然后,用户必须将手指放在扫描仪上以标记出勤。指纹匹配后,将提示“ Present”消息,并且蓝色LED指示灯将亮起。如果不匹配,则红色LED指示灯将闪烁并亮起,并显示错误消息“Finger not Found.”。
编辑:hfy
-
指纹识别
+关注
关注
43文章
1753浏览量
104446 -
指纹传感器
+关注
关注
6文章
197浏览量
64398 -
考勤系统
+关注
关注
0文章
41浏览量
11510 -
Arduino
+关注
关注
190文章
6515浏览量
195975
发布评论请先 登录
新品 | Unit Fingerprint2,高性能指纹识别传感器单元
STM32 Nucleo-144开发板技术解析与应用指南
STM32 Nucleo-64开发板技术解析与应用指南
AVR-IoT蜂窝迷你开发板技术解析与应用指南
如何用Arduino Nano/UNO R3开发板给另一个Arduino IDE不能下载的Arduino Nano/UNO R3开发板重新烧录引导程序bootlaoder
【新品】远距离图传数传模块开发板、蓝牙模块开发板、无线模块开发板
第二章 开发板与芯片介绍 详解W55MH32芯片及开发板
《ESP32S3 Arduino开发指南》第二章 Arduino基础知识
明远智睿SSD2351开发板:仪器仪表与智慧农业的创新利器
STM32开发板一般都会配置arduino接口,是不是基本上也都会支持arduino?
通过Arduino Nano Matter开发板构建智能卷帘系统
瑞芯微主板/开发板Linux系统播放音频方法,触觉智能RK3562开发板演示

基于Arduino开发板、指纹传感器的考勤管理系统
评论