資料介紹
描述
你好極客,希望你做得很好。這是我們使用Arduino UNO微控制器板制作的基于 RFID 的智能考勤系統。您也可以在我們的網站上閱讀完整的項目。學生只需將智能卡放在閱讀器模塊上即可自行注冊。該系統足以在串行監視器屏幕上記錄考勤情況。稍后,您可以從中提取信息。

基于RFID的考勤系統如何工作?
該系統適用于射頻識別,即 RFID。我們在這里使用的智能卡預先編碼了學生的卷號。每當有人使用未在系統內存中注冊信息的卡時,紅色 LED 將亮起,蜂鳴器開始發出嗶嗶聲。當系統啟動時,它會要求您將智能卡放在讀卡器模塊上。為了顯示內容,我們使用帶有 I2C 模塊的16×2 LCD 。

當 RFID 讀取印有學生正確詳細信息的卡片時,綠色 LED 將亮起。

您可以根據需要添加任意數量的學生,也可以通過修改代碼來更改他們的姓名。


?


所需組件
基于RFID的考勤系統電路圖
下面給出了使用 I2C 模塊和不使用 I2C 模塊的電路圖。你可以讓任何你想要的人。

Arduino 5 伏引腳 -> I2c 模塊的 VCC
Arduino GND 引腳 -> I2C 模塊的 GND
Arduino模擬5針-> I2C模塊的SCL
Arduino digital-2 pin -> 蜂鳴器正極
Arduino digital-4 pin -> 紅色 LED 的正極
Arduino digital-5 pin -> 綠色 LED 的正極
不帶 I2C 模塊

基于RFID的考勤系統代碼
帶I2C模塊
// Techatronic.com
#include
#include
#include
#include
// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define SS_PIN 10
#define RST_PIN 9
#define LED_G 5 //define green LED pin
#define LED_R 4 //define red LED pin
#define BUZZER 2 //buzzer pin
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.
void setup()
{
Serial.begin(9600); // Initiate a serial communication
SPI.begin(); // Initiate SPI bus
mfrc522.PCD_Init(); // Initiate MFRC522
lcd.begin();
lcd.backlight(); // Turn on the blacklight and print a message.
pinMode(LED_G, OUTPUT);
pinMode(LED_R, OUTPUT);
pinMode(BUZZER, OUTPUT);
noTone(BUZZER);
}
void loop()
{
// Look for new cards
if ( ! mfrc522.PICC_IsNewCardPresent())
{
lcd.setCursor(3,0);
lcd.print("SHOW YOUR");
lcd.setCursor(4,1);
lcd.print("ID CARD");
return;
}
else{
lcd.clear();
}
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial())
{
return;
}
//Show UID on serial monitor
Serial.print("UID tag :");
String content= "";
byte letter;
for (byte i = 0; i < mfrc522.uid.size; i++)
{
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(mfrc522.uid.uidByte[i], HEX);
content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
content.concat(String(mfrc522.uid.uidByte[i], HEX));
}
Serial.println();
content.toUpperCase();
if (content.substring(1) == "36 B1 03 32") //change here the UID of the card/cards that you want to give access
{
lcd.print("STUDENT 01");
lcd.setCursor(0,1);
lcd.print("PRESENT");
digitalWrite(LED_G, HIGH);
tone(BUZZER, 500);
delay(300);
noTone(BUZZER);
delay(3000);
digitalWrite(LED_G, LOW);
lcd.clear();
}
else if (content.substring(1) == "81 93 40 43") //change here the UID of the card/cards that you want to give access
{
lcd.print("STUDENT 02");
lcd.setCursor(0,1);
lcd.print("PRESENT");
digitalWrite(LED_G, HIGH);
tone(BUZZER, 500);
delay(300);
noTone(BUZZER);
delay(3000);
digitalWrite(LED_G, LOW);
lcd.clear();
}
else if (content.substring(1) == "91 69 3E 43") //change here the UID of the card/cards that you want to give access
{
lcd.print("STUDENT 03");
lcd.setCursor(0,1);
lcd.print("PRESENT");
digitalWrite(LED_G, HIGH);
tone(BUZZER, 500);
delay(300);
noTone(BUZZER);
delay(3000);
digitalWrite(LED_G, LOW);
lcd.clear();
}
else {
lcd.print("UNAUTHORIZE");
lcd.setCursor(0,1);
lcd.print("ACCESS");
digitalWrite(LED_R, HIGH);
tone(BUZZER, 300);
delay(2000);
digitalWrite(LED_R, LOW);
noTone(BUZZER);
lcd.clear();
}
}
不帶 I2C 模塊
#include
#include
#include "LiquidCrystal.h"
LiquidCrystal lcd(A0, A1, A2, A3, A4, A5);
#define SS_PIN 10
#define RST_PIN 9
#define LED_G 5 //define green LED pin
#define LED_R 4 //define red LED pin
#define BUZZER 2 //buzzer pin
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.
void setup()
{
Serial.begin(9600); // Initiate a serial communication
SPI.begin(); // Initiate SPI bus
mfrc522.PCD_Init(); // Initiate MFRC522
lcd.begin(16,2); // Turn on the blacklight and print a message.
pinMode(LED_G, OUTPUT);
pinMode(LED_R, OUTPUT);
pinMode(BUZZER, OUTPUT);
noTone(BUZZER);
}
void loop()
{
// Look for new cards
if ( ! mfrc522.PICC_IsNewCardPresent())
{
lcd.setCursor(3,0);
lcd.print("SHOW YOUR");
lcd.setCursor(4,1);
lcd.print("ID CARD");
return;
}
else{
lcd.clear();
}
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial())
{
return;
}
//Show UID on serial monitor
Serial.print("UID tag :");
String content= "";
byte letter;
for (byte i = 0; i < mfrc522.uid.size; i++)
{
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(mfrc522.uid.uidByte[i], HEX);
content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
content.concat(String(mfrc522.uid.uidByte[i], HEX));
}
Serial.println();
content.toUpperCase();
if (content.substring(1) == "36 B1 03 32") //change here the UID of the card/cards that you want to give access
{
lcd.print("STUDENT 01");
lcd.setCursor(0,1);
lcd.print("PRESENT");
digitalWrite(LED_G, HIGH);
tone(BUZZER, 500);
delay(300);
noTone(BUZZER);
delay(3000);
digitalWrite(LED_G, LOW);
lcd.clear();
}
else if (content.substring(1) == "81 93 40 43") //change here the UID of the card/cards that you want to give access
{
lcd.print("STUDENT 02");
lcd.setCursor(0,1);
lcd.print("PRESENT");
digitalWrite(LED_G, HIGH);
tone(BUZZER, 500);
delay(300);
noTone(BUZZER);
delay(3000);
digitalWrite(LED_G, LOW);
lcd.clear();
}
else if (content.substring(1) == "91 69 3E 43") //change here the UID of the card/cards that you want to give access
{
lcd.print("STUDENT 03");
lcd.setCursor(0,1);
lcd.print("PRESENT");
digitalWrite(LED_G, HIGH);
tone(BUZZER, 500);
delay(300);
noTone(BUZZER);
delay(3000);
digitalWrite(LED_G, LOW);
lcd.clear();
}
else {
lcd.print("UNAUTHORIZE");
lcd.setCursor(0,1);
lcd.print("ACCESS");
digitalWrite(LED_R, HIGH);
tone(BUZZER, 300);
delay(2000);
digitalWrite(LED_R, LOW);
noTone(BUZZER);
lcd.clear();
}
}
我們希望您了解項目的概念,并且必須嘗試自己制作。更多有趣的項目請訪問我們的官方網站。
學習愉快!
- 如何制作RFID Arduino門禁系統
- 基于Arduino和Google Spreadsheet的考勤系統
- 使用Arduino基于RFID的考勤系統
- Arduino項目之考勤登記
- 基于RFID的智能考勤系統
- 基于樹莓派和sb組件RFID HAT的考勤系統 2次下載
- 基于RFID模塊的在線考勤系統 0次下載
- 如何搭建樹莓派RFID考勤系統?
- 基于RFID的考勤系統
- 使用Raspberry Pi 4和RFID模塊的考勤系統
- 使用Arduino的基于RFID的訪問控制系統
- 483【畢設課設】基于51單片機射頻RFID卡考勤人數計數統計系統
- 使用Arduino實現RFID實驗的例程合集免費下載 14次下載
- RFID 學生考勤系統的詳細資料介紹免費下載 46次下載
- 基于RFID的學生考勤系統設計
- RFID系統的基本組成 rfid系統的工作原理 4221次閱讀
- 用Python寫了一個電子考勤系統 1253次閱讀
- 運用RFID技術的學生考勤系統設計 2812次閱讀
- RFID倉儲管理系統的特點 1624次閱讀
- 中控智慧科技云考勤機FU200簡介 3237次閱讀
- 走班考勤系統是如何發揮RFID的特長的 1371次閱讀
- rfid系統的工作原理_rfid系統的組成 1.4w次閱讀
- 基于超高頻RFID讀寫器技術的建筑工地人員考勤管理方案詳解 1409次閱讀
- 人臉考勤系統設計方案 1.1w次閱讀
- 人臉識別考勤門禁設計 3250次閱讀
- 人臉識別考勤機安裝注意事項 7516次閱讀
- 人臉識別考勤機優缺點分析 2w次閱讀
- 人臉識別考勤機怎么作弊_人臉識別考勤機破解方法 50.3w次閱讀
- 基于RFID開放式通道智能型考勤管理系統方案 821次閱讀
- 基于ZigBee技術的有源RFID系統 2204次閱讀
下載排行
本周
- 1人形機器人電機驅動和傳感報告
- 4.27 MB | 9次下載 | 免費
- 2Altium Designer元件庫
- 17.11 MB | 6次下載 | 免費
- 324V2A開關電源PCB資料分享
- 0.23 MB | 4次下載 | 1 積分
- 4GD100PIX120C6SNA規格書
- 0.98 MB | 3次下載 | 免費
- 5Multisim模擬電路仿真教程
- 1.93 MB | 1次下載 | 3 積分
- 6BK7258英文規格書
- 1.67 MB | 1次下載 | 免費
- 7RA4L1硬件手冊
- 21.89 MB | 1次下載 | 免費
- 8RA4L1_SENSOR-V1原理圖
- 754.36 KB | 1次下載 | 免費
本月
- 1晶體三極管的電流放大作用詳細說明
- 0.77 MB | 32次下載 | 2 積分
- 2雙極型三極管放大電路的三種基本組態的學習課件免費下載
- 4.03 MB | 25次下載 | 1 積分
- 3AIWA HS-J303 MKⅡ維修手冊
- 22.47 MB | 24次下載 | 10 積分
- 4九陽豆漿機高清原理圖
- 2.47 MB | 23次下載 | 1 積分
- 5多級放大電路的學習課件免費下載
- 1.81 MB | 21次下載 | 2 積分
- 6AIWA HS-J202/HS-J202M/HS-J800維修手冊
- 13.60 MB | 16次下載 | 10 積分
- 7東芝彩色電視機29SF6C維修說明書
- 4.86 MB | 9次下載 | 1 積分
- 8人形機器人電機驅動和傳感報告
- 4.27 MB | 9次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191382次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183338次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81586次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73814次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論