0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

454398 来源:一板网 作者:风筝 2020-10-24 11:04 次阅读

众所周知,适当的考勤管理系统对任何类型的机构都至关重要。由于纸质人工考勤方法涉及很多实际问题,因此如今几乎所有公司都已将其考勤管理流程自动化。

在本篇文章中,我们将向您介绍如何使用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

    文章

    1741

    浏览量

    102182
  • 指纹传感器
    +关注

    关注

    6

    文章

    195

    浏览量

    63461
  • 考勤系统
    +关注

    关注

    0

    文章

    40

    浏览量

    11204
  • Arduino
    +关注

    关注

    187

    文章

    6465

    浏览量

    186729
收藏 人收藏

    评论

    相关推荐

    戈帅《OpenHarmony轻量系统从入门到精通50例》开发板传感器配置说明

    戈帅《OpenHarmony轻量系统从入门到精通50例》开发板传感器配置说明,请查看附件*附件:《OpenHarmony轻量系统从入门到精通50例》
    发表于 12-03 15:46

    基于Arduino的串口通信项目

    Arduino Mega等。 USB数据线 :用于将Arduino开发板连接到计算机。 串口设备 :可以是另一个Arduino开发板
    的头像 发表于 11-22 09:24 302次阅读

    项目分享 | 小熊派DIY一款指纹门锁

    传感器中断信号 PA11/10 6 VCC_3V3A 指纹传感器供电电源3.3V V3.3/13 该模组共有六个管脚,这六个管脚通过杜邦线分别连接到小熊派IoT开发板上的引脚。 模组通
    发表于 10-09 13:55

    CW32模块使用 指纹识别传感器

    光学指纹识别传感器采用了国内著名指纹识别芯片公司杭州晟元芯片技术有限公司(Synochip) 的 AS608 指纹识别芯片。芯片内置 DSP 运算单元,集成了指纹识别算法,能高效快速采
    的头像 发表于 09-18 15:15 368次阅读
    CW32模块使用 <b class='flag-5'>指纹识别传感器</b>

    Linux环境Arduino开发板管理器中安装esp32模块提示操作系统没有openocd-esp32工具如何解决?

    Linux环境下Arduino开发板管理器中安装esp32模块提示你的操作系统没有 openocd-esp32 工具,这个问题如何解决?
    发表于 06-06 08:11

    RK3568开发板支持AMP双系统

    RK3568开发板支持AMP双系统
    的头像 发表于 06-04 15:33 667次阅读
    RK3568<b class='flag-5'>开发板</b>支持AMP双<b class='flag-5'>系统</b>

    SiliconLabs携手Arduino演示基于MGM240模块的新型Nano Matter开发板

    Arduino Nano Matter开发板,从而将Matter协议引入Arduino生态系统,为广大的开发人员提供一个快速涉足Matte
    的头像 发表于 04-11 17:35 628次阅读
    SiliconLabs携手<b class='flag-5'>Arduino</b>演示基于MGM240模块的新型Nano Matter<b class='flag-5'>开发板</b>

    如何用Arduino开发STM32G070?

    如何用Arduino开发STM32G070,各位大神有相关教程吗。我如何在Arduino开发板管理器中添加STM32G070
    发表于 04-07 08:22

    指纹挂锁方案——采用ACH512或ACM32FP4指纹芯片和88*112传感器指纹识别速度快,BOM成本低

    :ACH512或ACM32FP4• 传感器分辨率:88*112点阵(推荐)• 指纹识别速度:平均0.8秒• 指纹库大小:30枚指纹• 待机电流(手指检测):10uA• 工作电流(
    发表于 03-12 11:46

    指纹传感器的定义 指纹传感器的应用

    指纹传感器的定义 指纹传感器的应用  指纹传感器是一种生物识别技术,通过检测和分析人体
    的头像 发表于 03-05 17:35 3050次阅读

    fpga开发板与linux开发板区别

    (Field-Programmable Gate Array)是一种可编程逻辑器件,它可以通过编程改变硬件逻辑电路的功能和结构。FPGA采用了可编程的门极,可以根据需要重新配置内部电路,从而实现不同的功能和逻辑关系。而Linux开发板则是一种嵌入式计算机平台,其核心是Linux操作
    的头像 发表于 02-01 17:09 2138次阅读

    51单片机开发板的主要功能 51单片机开发板能做什么

    具有多个通用输入输出引脚,可以连接各种外部设备和传感器,实现数据的输入和输出。 时钟管理开发板通常会集成时钟电路,包括晶振、时钟发生等,可以提供稳定的时钟信号给单片机使用。 存储
    的头像 发表于 01-23 15:52 3474次阅读

    【ELF 1开发板试用】板载资源测试4:体验温湿度传感器

    飞凌嵌入式ELF1开发板(以下简称为“开发板”)将温湿度传感器AHT20集成在了底板上,此次依旧做最基础的测试,以下是测试过程记录。一、实验名称ELF 1
    发表于 12-18 11:09

    【ELF 1开发板试用】板载资源测试2:体验六轴传感器

    飞凌嵌入式ELF1开发板(以下简称为“开发板”)将六轴传感器ICM-20607集成在了底板上,最直接的感觉是:如果配上显示屏就可以开发一款
    发表于 12-15 00:02

    小安派Arduino开发板 ,全新支持以太网口

    前面几款小安派出来的时候,经常有粉丝询问是否支持Arduino?其它款小安派也是支持的,大家可以去安信可社区搜索查看,小安派-UNO-ET485 Arduino开发板来了,兼容UNO的经典外形,易
    的头像 发表于 12-06 16:00 775次阅读
    小安派<b class='flag-5'>Arduino</b><b class='flag-5'>开发板</b> ,全新支持以太网口