眾所周知,適當(dāng)?shù)目记诠芾硐到y(tǒng)對(duì)任何類型的機(jī)構(gòu)都至關(guān)重要。由于紙質(zhì)人工考勤方法涉及很多實(shí)際問題,因此如今幾乎所有公司都已將其考勤管理流程自動(dòng)化。
在本篇文章中,我們將向您介紹如何使用Arduino開發(fā)板、指紋傳感器和SD卡模塊制作自己的考勤管理系統(tǒng)。如果您是工程專業(yè)的學(xué)生,那么這個(gè)項(xiàng)目可能是最佳選擇。而且,容易制作,時(shí)間短,預(yù)算不會(huì)太大。
所需組件
● Arduino Uno或Mega開發(fā)板
● R305 / R307指紋模塊
● 帶I2C模塊的1602 LCD
● 2個(gè)按鈕
● 2個(gè)LED
● 2個(gè)10K歐姆電阻
● 面包板和跳線
所需的庫文件
● Adafruit指紋傳感器庫
● LiquidCrystal I2C庫
● SD Arduino庫
接線硬件
即使接線圖看起來很復(fù)雜,制作起來也很簡單。
為了獲得用戶輸入,指紋掃描儀直接與Arduino交互。 LCD模塊和LED指示輸出結(jié)果。 SD卡模塊將出勤記錄保存在SD卡上。可以使用兩個(gè)或多個(gè)按鈕來控制不同的過程。
讓我們研究一下每個(gè)模塊如何與Arduino進(jìn)行交互。
R305掃描儀與Arduino的連接
R305 / R307指紋掃描儀具有TTL UART接口,可以直接連接到Arduino的UART引腳。
SD卡模塊與Arduino的連接
SD卡模塊通過串行外圍接口(SPI)通信協(xié)議與Arduino通信。它可以簡單地連接到Arduino的硬件SPI引腳。
帶I2C模塊的LCD與Arduino的連接
顧名思義,LCD模塊通過I2C通信與Arduino通信。
最后,可以如下圖所示連接兩個(gè)LED和按鈕。
指紋掃描儀系統(tǒng)概述
以下框圖顯示了系統(tǒng)的基本概述。
指紋傳感器和按鈕用作輸入模塊。在這里,我使用兩個(gè)按鈕進(jìn)行注冊(cè)和身份識(shí)別過程。當(dāng)我們要注冊(cè)新用戶時(shí),必須按下注冊(cè)按鈕以開始注冊(cè)過程。按下考勤按鈕后,手指將被驗(yàn)證以標(biāo)記出勤。 LCD模塊和LED充當(dāng)輸出模塊。他們將打印消息和錯(cuò)誤以給出該過程的輸出。
指紋保存在指紋傳感器的閃存中。 R305模塊本身執(zhí)行指紋收集、比較和搜索。經(jīng)過驗(yàn)證的指紋的ID保存在SD卡上的文本文件中。我們可以通過從模塊中卸下microSD卡來使用該出勤報(bào)告。
Arduino代碼
該項(xiàng)目的Arduino代碼相當(dāng)長。
我將基于兩個(gè)主要過程來解釋代碼:
● 指紋注冊(cè)
● 指紋識(shí)別和考勤
指紋注冊(cè)流程
指紋傳感器的所有功能均由Adafruit指紋傳感器庫控制。該庫包含驅(qū)動(dòng)指紋掃描儀的方法和功能。
在這里,我創(chuàng)建了一個(gè)名為getFingerprintEnroll()的函數(shù)來注冊(cè)新的指紋。調(diào)用此函數(shù)后,傳感器將接收兩次指紋掃描(指紋圖片)。然后,通過將這兩次掃描合并到內(nèi)置數(shù)據(jù)庫中的256個(gè)條目之一來保存指紋圖像。如果由于手指放置錯(cuò)誤而無法正確捕獲圖像,您將一直收到錯(cuò)誤消息。
在存儲(chǔ)指紋時(shí),我們必須在考慮傳感器存儲(chǔ)的同時(shí)確定數(shù)據(jù)庫位置。
如您所見,我們首先必須找到已存儲(chǔ)在傳感器中的指紋數(shù)量。我們可以使用getTemplateCount()函數(shù)獲得該數(shù)字。由于存儲(chǔ)位置編號(hào)從0開始,因此通過將數(shù)字增加1來設(shè)置ID。ID號(hào)是全局變量。因此,存儲(chǔ)指紋時(shí),分配的ID號(hào)將在getFingerprintEnroll()函數(shù)中使用。
指紋識(shí)別與標(biāo)記考勤過程
在考勤標(biāo)記過程中,將調(diào)用getFingerprintIDez()函數(shù)。此函數(shù)接收用戶的指紋并使用已存儲(chǔ)的指紋進(jìn)行檢查。
如果手指不在數(shù)據(jù)庫中,則掃描儀將返回錯(cuò)誤代碼。如果手指匹配,它將返回用戶ID號(hào)。
我已將ID號(hào)轉(zhuǎn)換為字符串變量,以將其存儲(chǔ)在SD卡中。最后,您將獲得如下的出勤報(bào)告:
指紋考勤系統(tǒng)演示
如您所見,該項(xiàng)目的最終產(chǎn)品可以制作為便攜式設(shè)備。在注冊(cè)過程中,用戶必須提供兩次指紋。這意味著每個(gè)用戶都必須將手指從掃描儀上移開,然后再次放回原處才能進(jìn)行記錄。
在出勤過程中,我們需要按下開始按鈕(藍(lán)色按鈕)以開始該過程。 LCD顯示屏提示“Place the Finger”消息,以使我們知道該過程已開始。然后,用戶必須將手指放在掃描儀上以標(biāo)記出勤。指紋匹配后,將提示“ Present”消息,并且藍(lán)色LED指示燈將亮起。如果不匹配,則紅色LED指示燈將閃爍并亮起,并顯示錯(cuò)誤消息“Finger not Found.”。
編輯:hfy
-
指紋識(shí)別
+關(guān)注
關(guān)注
43文章
1746瀏覽量
103065 -
指紋傳感器
+關(guān)注
關(guān)注
6文章
197瀏覽量
63906 -
考勤系統(tǒng)
+關(guān)注
關(guān)注
0文章
41瀏覽量
11373 -
Arduino
+關(guān)注
關(guān)注
189文章
6494瀏覽量
190324
發(fā)布評(píng)論請(qǐng)先 登錄
【新品】遠(yuǎn)距離圖傳數(shù)傳模塊開發(fā)板、藍(lán)牙模塊開發(fā)板、無線模塊開發(fā)板

明遠(yuǎn)智睿SSD2351開發(fā)板:儀器儀表與智慧農(nóng)業(yè)的創(chuàng)新利器
STM32開發(fā)板一般都會(huì)配置arduino接口,是不是基本上也都會(huì)支持arduino?
用AI人臉識(shí)別開發(fā)板BW21-CBV-Kit驅(qū)動(dòng)墨水屏

通過Arduino Nano Matter開發(fā)板構(gòu)建智能卷簾系統(tǒng)

Arduino Nano Matter開發(fā)板正式上市
【正點(diǎn)原子STM32H7R3開發(fā)套件試用體驗(yàn)】桌面化多傳感器管理與控制
戈帥《OpenHarmony輕量系統(tǒng)從入門到精通50例》開發(fā)板與傳感器配置說明
基于Arduino的串口通信項(xiàng)目
項(xiàng)目分享 | 小熊派DIY一款指紋門鎖
CW32模塊使用 指紋識(shí)別傳感器

嵌入式linux開發(fā)板芯片的工作原理
linux開發(fā)板與樹莓派的區(qū)別
linux開發(fā)板和單片機(jī)開發(fā)的區(qū)別
綠展科技指紋模組落地新應(yīng)用,助力企業(yè)高效考勤

評(píng)論