眾所周知,適當的考勤管理系統對任何類型的機構都至關重要。由于紙質人工考勤方法涉及很多實際問題,因此如今幾乎所有公司都已將其考勤管理流程自動化。
在本篇文章中,我們將向您介紹如何使用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瀏覽量
102166 -
指紋傳感器
+關注
關注
6文章
195瀏覽量
63459 -
考勤系統
+關注
關注
0文章
40瀏覽量
11204 -
Arduino
+關注
關注
187文章
6464瀏覽量
186667
發布評論請先 登錄
相關推薦
評論