Version 2 Advanced RFID Attendance System (Without Ethernet)
  • Anshul Pareek
    Developed By
  • Arduino
    Categories
Overview/short description

This Online RFID Attendance Sytsem in based on Arduino,RFID and API.

Requirements / Things Used to build Project

Hardware components:

  1. Arduino UNO & Genuino UNO
  2. RFID RC522
  3. Also need RFID TAGS will get in package
  4. Jumper wires (generic)

ABOUT PROJECT

First version of our “Online RFID Attendance System (Without Ethernet)” might be seem a little bit complicated for those hobbyists that don't have programming skills. With Online RFID Attendance System Version 2, we have come one step forward and eliminated coding part. Just need some components and connect (Arduino and RFID) them as explained in our Project "Online RFID Attendance System (Without Ethernet)", you will be able to create your own Online Attendance System.

STORY

First version of our Online RFID Attendance System (Without Ethernet) might be seem a little bit complicated for those hobbyists that don't have programming skills. With Online RFID Attendance System Version 2, we have come one step forward and eliminated coding part. With doing just some connections, you will be able to create your own Online Attendance System.

In this version of attendance system we are going to launch attendance system with all requirements of a real attendance system. It has a LCD Display

How it Works?

Circuit :

ARDUINO-RFID-LCD-LED-BUZZER COMPLETE CIRCUIT

If you have confusion in connections then see in schematics section for Pin Connections.

Programming:

Step 1: To use our Online RFID Attendance System, you need to do below steps:

  • · Create Attendance User Group
  • · Generate Validation key

To do above steps, please go to below URL and create Attendance User Group and Generate Free Validation Key.

Keep this validation key.

URL: http://www.parikshacrack.com/gadgetProgrammers/user_group.html

Step 2: Please download files from below URL which is required to sync Arduino and Our Web Application.

http://www.parikshacrack.com/gadgetProgrammers/addrfidwin64.zip

http://www.parikshacrack.com/gadgetProgrammers/markattendancewin64.zip

Note: This is only for windows OS. we are working hard for others OS.

Extract files from above two zip folders and save these files in your PC.

Step 3: Connect Arduino and RFID Reader to the same PC.

Step 4: Please copy and paste Arduino code as given in code section to Arduino editor. Now run and upload Arduino code to device.

Step 5: Now run desktop Application “addRFIDTagsProg” that you can find in Folder “addrfidwwin64.zip”.

If everything is connected perfectly, then Application “addRFIDTagsProg” will be opened and text box will be shown as in below image.

Now enter Validation key that you have generated in Step 1 and Press button validate key.

It validates you.

After Validation you can add users Using the above same window it will prompt for validation key only once.

For adding user please run above given program after validation then it will show you the screen as given below:

Above screen is used to add User for this you need to approximate your card in front of RFID RC522 Then it will show you the TAG UID in front of UID and then you just need to enter user name who will belong to this card and press enter (button will appear after approximating card).

If user gets added it will show you message of success and you can view user on web panel.

URL: http://www.parikshacrack.com/gadgetProgrammers/index.php

Step 6: Now you are able to add user (employees/students) in your user group. For that, you need to Login to our web Application. Go to below URL and Login.

URL: http://www.parikshacrack.com/gadgetProgrammers/index.php

Go to Tab User’s -> Pending User List, from here you can assign RFID Tags to their employee/students.

Step 7: Run desktop Application “markOnlineAttendance” that you can find in folder “markattendancewin64.zip”.

A screen will be opened as shown in below image showing Status: connected.

To mark attendance, keep RFID Tags close to RFID Reader for some seconds and attendance will be marked for the person to whom this RFID Tags belongs.

Step 8: To see attendance of all employees/students in a month or in year, Please follow following steps.

  • Go to Tab Attendance Controls -> View Attendance.
  • Select Month and year.
  • Click on Button “show”.

A list should be shown as below image.

Hooray !!! It is done.

Please shout in comment box if you have any query.

Code

/*******ARDUION CODE STARTS FROM HERE********/

#include

#include

 

#define SS_PIN 10

#define RST_PIN 9

 

MFRC522rfid(SS_PINRST_PIN); // Instance of the class

 

MFRC522::MIFARE_Keykey

 

// Init array that will store new NUID 

bytenuidPICC[4];

 

voidsetup() { 

  Serial.begin(9600);

  SPI.begin(); // Init SPI bus

  rfid.PCD_Init(); // Init MFRC522 

 

  for (bytei=0i<6i++) {

    key.keyByte[i=0xFF;

  }

 

}

 

voidloop() {

 

  // Look for new cards

  if ( !rfid.PICC_IsNewCardPresent())

    return;

 

  // Verify if the NUID has been readed

  if ( !rfid.PICC_ReadCardSerial())

    return;

 

  MFRC522::PICC_TypepiccType=rfid.PICC_GetType(rfid.uid.sak);

 

  // Check is the PICC of Classic MIFARE type

  if (piccType!=MFRC522::PICC_TYPE_MIFARE_MINI&&  

    piccType!=MFRC522::PICC_TYPE_MIFARE_1K&&

    piccType!=MFRC522::PICC_TYPE_MIFARE_4K) {

    //Serial.println(F("Your tag is not of type MIFARE Classic."));

    return;

  }

Strings;

    for (bytei=0i<4i++) {

      

      nuidPICC[i=rfid.uid.uidByte[i];

      

    }

  

 

    printHex(rfid.uid.uidByterfid.uid.size);

    Serial.println();

   

  // Halt PICC

  rfid.PICC_HaltA();

 

  // Stop encryption on PCD

  rfid.PCD_StopCrypto1();

}

 

/**

* Helper routine to dump a byte array as hex values to Serial. 

*/

voidprintHex(byte*bufferbytebufferSize) {

  for (bytei=0i<bufferSizei++) {

    Serial.print(buffer[i<0x10?"0":"");

    Serial.print(buffer[i], HEX);

  }

}

 

/**

* Helper routine to dump a byte array as dec values to Serial.

*/

voidprintDec(byte*bufferbytebufferSize) {

  for (bytei=0i<bufferSizei++) {

    Serial.print(buffer[i<0x10?"0":"");

    Serial.print(buffer[i], DEC);

  }

}

/********ARDUINO CODE ENDS HERE*******/

Credits

Thanks to all my Friends