Abstract – Integration of radio frequency identification
technology and GSM technology had shown wide applications in
the automation of electronic systems. In this paper the design of
microcontroller based attendance system using RFID and GSM the modem has been presented which will automatically update the
attendance of the students and send the SMS to the absentee’s
parent for the continuous monitoring of the attendance of his/her
ward.
INTRODUCTION
The conventional method of taking the attendance of students
is through the manually maintained register and calling by their
names or serial numbers. A lot of drawbacks are associated
with this method like attendance not marked due to human
error on both sides i.e. students as well as teachers, proxy
attendance, time-consuming, etc. The role of radio frequency
identification (RFID) technology in tracking objects and its
implementation in automatic electronic equipment has been
widely used by designers and found in the literature [1]. Some automated attendance system has been designed and
reported using the RFID. M. Kamaraju in the year 2010 presented
the design of an automated attendance system using RF
technology. In the year 2013 attendance system using RFID
has been reported using RFID. In the year 2014
another web-based attendance system using RFID has been
presented.
COMPONENTS REQUIRED
8051 microcontroller
RFID reader
LCD display 2x16
L293D
servo motor
LEDs
vol. regulator
speaker
resistors, capacitors, etc.
COMPONENT DESCRIPTION
RFID
The Radio Frequency Identification (RFID) is an electronic device that includes a small antenna and a chip. This device is used for transmitting information between the reader and RFID tag using radiofrequency electromagnetic fields.
The operating frequency ranges of these devices include low, mid, and high ranges. The low-frequency range is from 30 kHz to 500 kHz, the middle frequency range is from 500 kHz to 900 kHz and the high-frequency range is from 2.4 MHz to 2.5 MHz.
BLOCK DIAGRAM
MicrocontrollerThe microcontroller used in RFID based attendance system is AT89C52 from the family of 8051. It includes 4-I/O ports and 40-pins.
Oscillator Circuit
The oscillator circuit is connected in between the pins of 18 and 19 of a microcontroller. This circuit is built with a combination of oscillator and two 33 pF capacitors at 11.0592 MHz operational frequency.
Preset Circuit
The microcontroller AT89C52 9th pin is a reset pin. The circuit of the preset is built with a capacitor, a resistor, and a switch. When the switch is pressed, the reset pin is connected with and the microcontroller becomes reset.
LCD Display
The LCD display is consists of 16 pins, where 3 pins are connected with and the remaining all pins are connected with the port-2 of the microcontroller.
RFID Reader
The RFID reader is used for reading the information which is stored in the RFID tags. It incorporates with any type of hardware design.
CIRCUIT DIAGRAM
WORKING
When a person puts their RFID tag to an RFID reader then RFID reads the tag’s data and sends it to 8051 microcontrollers and then the microcontroller compares this data with defined data or information. If data is matched with defined data then the microcontroller increments the attendance by one of the tag’s person and if the match does not occur then the microcontroller shows an invalid card on LCD and the buzzer is beeping continuously for some time.
The aim of this project is to design an RFID Technology-based Attendance System using 8051 microcontrollers, in which the attendance of students or employees is automatically recorded with the swipe of a card.
When this circuit is powered ON, initially the microcontroller will display the message as Swipe the card on the LCD display. When the RFID reader detects the ID card, it will send the unique card no to the microcontroller via the serial terminal.
with the suitable program, we will compare this id and code id present in the code. if both are the same then it will show the id holder's name and mark the attendance of that id holder. And the door will open.
Now again it will ask to scan the card. And this will go on.
CODE
/**************************************
Name: RFID Based Attendance System Using 8051 Microcontroller
***************************************
*/
//library description
#include<reg51.h>
#include<string.h>
#include<stdio.h>
#define LCDPORT P1
sbit rs=P1^0;
sbit rw=P1^1;
sbit en=P1^2;
sbit Motor1=P2^4;
sbit Motor2=P2^3;
sbit Speaker=P2^6;
char i,rx_data[50];
char rfid[13],ch=0;
int counter1, counter2, counter3;
unsigned char result[1];
void delay(int itime)
{
int i,j;
for(i=0;i<itime;i++)
for(j=0;j<1275;j++);
}
void daten()
{
rs=1;
rw=0;
en=1;
delay(5);
en=0;
}
void lcddata(unsigned char ch)
{
LCDPORT=ch & 0xf0;
daten();
LCDPORT=(ch<<4) & 0xf0;
daten();
}
void cmden(void)
{
rs=0;
en=1;
delay(5);
en=0;
}
void lcdcmd(unsigned char ch)
{
LCDPORT=ch & 0xf0;
cmden();
LCDPORT=(ch<<4) & 0xf0;
cmden();
}
void lcdstring(char *str)
{
while(*str)
{
lcddata(*str);
str++;
}
}
void lcd_init(void)
{
lcdcmd(0x02);
lcdcmd(0x28);
lcdcmd(0x0e);
lcdcmd(0x01);
}
void uart_init()
{
TMOD=0x20;
SCON=0x50;
TH1=0xfd;
TR1=1;
}
char rxdata()
{
while(!RI);
ch=SBUF;
RI=0;
return ch;
}
void main()
{
Speaker=1;
uart_init();
lcd_init();
lcdstring("---RFID Based---");
lcdcmd(0xc0);
lcdstring("Attendance Proj");
delay(500);
lcd_init();
lcdstring("--StudyElectric--");
lcdcmd(0xc0);
lcdstring("----Tech.com----");
delay(400);
while(1)
{
lcdcmd(1);
lcdstring("Scan Your Card:");
lcdcmd(0xc0);
i=0;
for(i=0;i<12;i++)
rfid[i]=rxdata();
rfid[i]='\0';
lcdcmd(1);
lcdstring("Rfid No. is:");
lcdcmd(0xc0);
for(i=0;i<12;i++)
lcddata(rfid[i]);
delay(100);
if(strncmp(rfid,"10035AD856C1",12)==0)
{
counter1++;
lcdcmd(1);
lcdstring(" Atttended");
delay(200);
lcdcmd(1);
lcdstring(" Ayush ");
lcdcmd(0xc0);
lcdstring("Attnd. No.: ");
sprintf(result, "%d", counter1);
lcdstring(result);
Motor1=1;
Motor2=0;
delay(300);
Motor1=0;
Motor2=0;
delay(200);
Motor1=0;
Motor2=1;
}
else if(strncmp(rfid,"1600ADC369A1",12)==0)
{
counter2++;
lcdcmd(1);
lcdstring(" Attended");
delay(200);
lcdcmd(1);
lcdstring(" raj ");
lcdcmd(0xc0);
lcdstring("Attnd. No.: ");
sprintf(result, "%d", counter2);
lcdstring(result);
Motor1=1;
Motor2=0;
delay(300);
Motor1=0;
Motor2=0;
delay(200);
Motor1=0;
Motor2=1;
delay(300);
Motor1=0;
Motor2=0;
}
else if(strncmp(rfid,"1600ABCD147A",12)==0)
{
counter3++;
lcdcmd(1);
lcdstring(" Attended");
delay(200);
lcdcmd(1);
lcdstring(" meet ");
lcdcmd(0xc0);
lcdstring("Attnd. No.: ");
sprintf(result, "%d", counter3);
lcdstring(result);
Motor1=1;
Motor2=0;
delay(300);
Motor1=0;
Motor2=0;
delay(200);
Motor1=0;
Motor2=1;
delay(300);
Motor1=0;
Motor2=0;
}
else
{
lcdcmd(1);
lcdstring("Card don't exist");
lcdcmd(0xc0);
lcdstring("Try Another Card");
Speaker=0;
delay(300);
Speaker=1;
}
}
}
DOWNLOAD PROJECT WITH PROTEUS AND KEIL FILES:
Post a Comment