This project called “ RFID BASED SERVICE SYSTEM ” is based on RFID as the name suggests. Here, our goal is to note each employee who enters the office and also calculate the time the person spends in the office. Earlier, the company used to enter the data into the register and it was a little clumsy. So I thought about using barcode, but barcode was not very durable. Barcode requires continuous line of sight, low data capacity, cannot be rewritten, etc. Due to these problems, the barcode cannot be used. Therefore, RFID is the perfect solution for this. It's very easy to work with. Tags can be reconfigured if read/write tags are used. Range can be improved by using a high frequency reader. It can also add security. When programming many other features can be added. So, due to these advantages of RFID, we use it for customer service system
(header = What is RFID?)
RFID is short for radio frequency identification. Generally an RFID system consists of 2 parts. A Reader and one or more Transponders, also known as Tags. RFID systems evolved from barcode labels as a means of automatically identifying and tracking products and people. In general, you will be familiar with RFID systems, as seen in:
Access control : RFID readers placed at entrances that require a person to swipe their proximity card (RF tag) to be “read” before access can be gained.
Contact less Payment Systems: RFID tags used to transport payment information. RFIDs are particularly suitable for electronic toll collection systems. Tags attached to vehicles or carried by people transmit payment information to a fixed reader connected to a toll station. Payments are then routinely deducted from the user's account or information is changed directly on the RFID tag.
Product Tracking and Inventory Control : RFID systems are commonly used to track and record the movement of common items such as library books, clothing, factory pallets, electrical products, and various items.
Shown below is a typical RFID system. In every RFID system, transponder tags contain information. This information can be as small as a single binary bit or a wide array of bits representing things like an identity code, personal medical information, or literally any type of information that can be stored in digital binary format.
Shown is an RFID transceiver that communicates with a passive tag. Passive tags do not have their own power source and instead derive energy from the incident electromagnetic field. Typically, the heart of each tag is a microchip. When the Tag enters the generated RF field it is able to extract enough energy from the field to access its internal memory and transmit the stored information. When the transponder tag consumes power in this way, the resulting interaction of the RF fields causes the voltage value at the transceiver antenna to drop. This effect is used by the Tag to communicate its information to the reader. The Tag is able to control the amount of energy taken from the field and, in doing so, can modulate the voltage detected on the Transceiver according to the bit pattern it wishes to transmit.
(header = RFID Components)
A basic RFID system consists of three components: An antenna or coil A transceiver (with decoder) A transponder (RF tag) electronically programmed with unique information They are described below:
The antenna emits radio signals to activate the tag and read and write data to it. Antennas are the conduits between the tag and the transceiver, which control the system's data acquisition and communication. Antennas are available in various shapes and sizes; they can be embedded in a door frame to receive data from people or things passing through the door, or mounted in an interstate toll booth to monitor traffic passing on a highway. The electromagnetic field produced by an antenna may be constantly present when multiple tags are continuously expected. If constant interrogation is not necessary, a sensing device can activate the field. Often the antenna is packaged with the transceiver and decoder to become a reader (also known as an interrogator), which can be configured as a portable or fixed-mount device. The reader emits radio waves in ranges ranging from one inch to 100 feet or more, depending on the output power and radio frequency used. When an RFID tag passes through the electromagnetic zone, it detects the reader's activation signal. The reader decodes the data encoded on the tag's integrated circuit (silicon chip) and the data is passed to the host computer for processing.
An RFID tag is made up of a microchip containing identifying information and an antenna that transmits this data wirelessly to a reader. Basically, the chip will contain a serialized identifier, or plate number, that uniquely identifies that item, similar to how many barcodes are used today. One key difference, however, is that RFID tags have a greater data capacity than equivalent barcodes. This increases options for the type of information that can be encoded on the label, including manufacturer, batch or batch number, weight, ownership, destination, and history (such as the temperature range to which an item has been exposed). In fact, an unlimited list of other types of information can be stored on RFID tags, depending on the needs of the application. An RFID tag can be placed on individual items, boxes or pallets for identification purposes, as well as fixed assets such as trailers, containers, bags, etc.
Tags come in several types, with different features. Key variables include: “Read-only” versus “read-write”
There are three options in terms of how data can be encoded on labels: (1) Read-only labels contain data such as a serialized tracking number, which is pre-written on them by the label manufacturer or distributor. These are generally the cheapest labels because they cannot include any additional information as they move along the supply chain. Any updates to this information would have to be maintained in the application software that tracks the movement and activity of the SKU. (2) “Write once” tags allow a user to write data to the tag once in production or distribution processes. Again, this may include a serial number, but perhaps other data such as batch or batch number. (3) Full “read and write” tags allow new data to be written to the tag as needed – and even overwritten over the original data. Examples for last resort might include the time and date of transferring ownership or updating the repair history of a fixed asset. Although these are the most expensive of the three types of tags and are not practical for tracking cheap items, future standards for electronic product codes (EPC) appear to be moving in this direction.
Fig., RFID TAGS
The tag and antenna structure can come in a variety of physical formats and can be free-standing or incorporated as part of a traditional tag structure (i.e. the tag is inside what appears to be a normal barcode label – this is called 'Smart Label') companies should choose the appropriate form factors for the label very carefully and should expect to use multiple form factors to meet the labeling needs of different physical products and units of measurement. For example, a pallet may have an RFID tag placed only in a protected placement area on the pallet itself. On the other hand, boxes on the pallet have RFID tags inside the barcode tags that also provide operators with human-readable information and a backup in case the tag fails or passes through non-RFID-compliant supply chain links.
“Passive RFID Tags” do not have a battery and “transmit” their data only when energized by a reader. This means they must be actively searched to submit information. “Active RFID Tags” are capable of transmitting their data using their own battery. In general, this means that read ranges are much greater for active tags than for passive tags – perhaps a read range of 100 feet or more, versus 15 feet or less for most passive tags. The extra capacity and read intervals of active tags, however, come at a cost; they are several times more expensive than passive tags. Today, active tags are much more likely to be used for high-value items or fixed assets, such as trailers, where the cost is minimal compared to the value of the item and very long reading intervals are required. Most traditional supply chain applications such as RFID-based tracking and emerging compliance programs in the consumer goods retail chain will utilize less expensive passive tags.
Like all wireless communications, there are a variety of frequencies or spectrums through which RFID tags can communicate with readers. Again, there are tradeoffs between cost, performance, and application requirements. For example, low-frequency tags are cheaper than ultra-high frequency (UHF) tags, use less energy, and are better able to penetrate non-metallic substances. They are ideal for scanning objects with a high water content, such as fruit, at close range. UHF frequencies typically offer better range and can transfer data faster. But they use more energy and are less likely to pass through some materials. UHF tags are typically best suited for use on or near wood, paper, cardboard or clothing products. Compared to low-frequency tags, UHF tags may be better for scanning boxes of merchandise as they pass through the bin door into a warehouse. Although label requirements for compliance mandates may be narrowly defined, it is likely that a variety of label types will be needed to resolve specific operational issues. You will want to work with a company that is very knowledgeable in tag and reader technology to properly identify the right combination of RFID technology for your environment and application.
EPC refers to “electronic product code,” an emerging specification for RFID tags, readers, and commercial applications first developed at the Massachusetts Institute of Technology's Auto-IDCenter. This organization has provided significant intellectual leadership in the use and application of RFID technology. EPC represents a specific approach to item identification, including an emerging standard for the tags themselves, including both the tag data content and open wireless communication protocols. In a sense, the EPC movement is combining the data standards embedded in certain barcode specifications, such as the UPC or UCC-128 barcode standards, with wireless barcode standards. communication standards that were developed by ANSI and other groups.
The RF transceiver is the RF energy source used to activate and power passive RFID tags. The RF transceiver can be placed in the same cabinet as the reader or can be a separate piece of equipment. When supplied as a separate piece of equipment, the transceiver is commonly called an RF module. The RF transceiver controls and modulates the radio frequencies that the antenna transmits and receives. The transceiver filters and amplifies the backscatter signal from a passive RFID tag.
(header = RFID attendance system block diagram)
Fig., BLOCK DIAGRAM
MICROCONTROLLER: The microcontroller is the heart of the system. We use P89V51RD2. It is similar to the 8051 microcontroller. It is made by Phillips. The P89V51RD2 is an 80C51 microcontroller with 64 kB Flash and 1024 bytes of data RAM.
First, the reader searches for 12 characters of the tag. These 12 characters are then sent to the microcontroller via serial communication. In microcontroller, the controller combines the received characters with the saved characters. If it matches, the green LED glows, otherwise the red LED glows. The microcontroller interfaces with the LCD to display the received data.
POWER SUPPLY: an adapter is used for power supply. Adapter converts 230v to 5v.
LCD: 16 x 2 LCD is used. LCD has 16 pins. It can read or write data. Here we will use it to write data to it.
RTC: RTC stands for Real Time Clock. RTC used for time calculation. Whenever a person enters, the RTC data is fetched and stored in the microcontroller. When the person leaves the room again, the data is fetched.
EEPROM : As the memory built into the microcontroller will not be enough, an extra EEPROM is attached. EEPROM (24C512) is attached. It has 512kb of memory. Around 2,000 records can be saved
MATRIX KEYBOARD: The 8 or 16 switch matrix keyboard is used to reset the RTC timing and also to enter new user data.
MAX232: MAX 232 IC is used. It is used as microcontroller and computer work at different logical levels. The computer works at the RS-232 level and the microcontroller works at the TTL level. Therefore, to have communication between two, an IC MAX232 is used. This IC brings RS-232 level to TTL level or TTL level to RS-232 level accordingly.
(header = RFID Attendance System Operation)
When a person with an RFID tag or transponder enters the range of the RFID reader, the RF field induces voltage in the tag coils. The range can be set using the appropriate frequency reader. This induced field provides the voltage in the case of passive tags and acts as a battery in this case. If active tags are used, the case will be different, as they have their own battery. Due to the interaction of the Tag with the Reader, 12 characters of the Tag are sent to the controller. These 12 characters are sent to the controller via serial communication. Before this controller is loaded with a program. The employee's data is saved in the controller. In our case, the details of two employees are saved i.e. tag number and name. When we supply power to the circuit, the circuit turns on and “ RFID BASED ATTENDANCE SYSTEM” is displayed on the LCD.
When 12 characters are transferred to the controller, the controller matches the characters with the saved characters. If the characters match, the controller sends '1' to the green LED and the time and date at the time of entry are fetched and stored.
If the characters do not match the saved characters, the controller sends '1' to the red LED and displays the tag number along with an “ERROR” string.
This way it can be done multiple times for different employees. Likewise, there will be number of entries, valid or invalid. Ultimately, the circuit can be connected to the PC via RS232. And the complete data is transferred to the computer in HYPERTERMINAL/TERATERM.
To input input from more employees, an external EEPROM is attached. In our case 24C256 is used. It has 256 KB of ROM. So, with the help of this, 1000 records can be stored.
We kept a tag for the manager ( CARD ADMIN). This card when moved over the RFID reader will erase all content. So, at the end of the day, the manager can use this card to empty all the day's contents. And from the next day it can be repeated in a similar way.
(header = List and explanation of components)
5.
Project source code
Project source code
### #include#include ###//0000 to 7FFF sbit RS = P0^7; sbit EN = P0^6; sbit SDA = P1^0; sbit SCL = P1^1; sbit RELAY = P1^2; code unsigned char RFID_1 = "34006C9C04C0"; //34006C9C04+NULL code unsigned char RFID_2 = "34006C549C90"; code unsigned char RFID_3 = "1300F8FAC1D0"; code unsigned char RFID_4 = "34006CD5AD20"; code unsigned char RFID_5 = "420061231E1E"; code unsigned char name_1 = "ROHIT SOLANKI"; code unsigned char name_2 = "SHEKHAT HARSH"; code unsigned char name_3 = "DHOLARIYA RAKSHIT"; code unsigned char name_4 = "DIVYANG SHAH"; code unsigned char name_5 = "ADMIN"; unsigned char rs(15); unsigned int no_of_records; void delay { int i; for(i=0;i<500;i++); } void long_delay { unsigned int i; for(i=0;i<65000;i++); } void idea { unsigned int i; for(i=0;i<10000;i++); } void lcd_command(char lc) { P2 = lc; RS = 0; EN = 1; delay; EN = 0; } void lcd_data(char ld) { P2 = ld; RS = 1; EN = 1; delay; EN = 0; } void lcd_init { lcd_command(0x38); lcd_command(0x0E); lcd_command(0x01); } void serial_init { SCON = 0x50; TMOD = 0x20; TH1 = 0xFD; TR1 = 1; } void transmit(unsigned char tx) { SBUF = tx; while(TI==0); TI = 0; } void send_string(unsigned char *str) { int i; for(i=0;str(i)!='';i++) transmit(str(i)); } unsigned char receive { char rx; while(RI==0); RI = 0; rx = SBUF; return(rx); } void lcd_string(char add,char *str) { int i; lcd_command(add); for(i=0;str(i)!='';i++) lcd_data(str(i)); } void start { SDA = 1; SCL = 1; SDA = 0; } void stop { SDA = 0; SCL = 1; SDA = 1; } void write(unsigned char w) { int i; SCL = 0; for(i=0;i<8;i++) { if((w & 0x80)==0) SDA = 0; else SDA = 1; SCL = 1; SCL = 0; w = w << 1; } SCL = 1; SCL = 0; } unsigned char read { int i; unsigned char r = 0x00; SDA = 1; for(i=0;i<8;i++) { SCL = 1; r = r << 1; if(SDA == 1) r = r 0x01; SCL = 0; } return(r); } void ack { SDA = 0; SCL = 1; SCL = 0; } void nack { SDA = 1; SCL = 1; SCL = 0; } void rtc_read { unsigned char ss,mm,hh,day,mn,date,yr; start; write(0xD0); write(0x00); stop; start; write(0xD1); ss = read ; ack ; mm = read ; ack ; hh = read ; ack ; day = read ; ack ; date = read ; ack ; mn = read ; ack ; yr = read ; nack ; stop; rs(0) = hh/0x10 + 48; rs(1) = hh%0x10 + 48; rs(2) = ':'; rs(3) = mm/0x10 + 48; rs(4) = mm%0x10 + 48; rs(5) = ','; rs(6) = date/0x10 + 48; rs(7) = date%0x10 + 48; rs(8) = '/'; rs(9) = mn/0x10 + 48; rs(10) = mn%0x10 + 48; rs(11) = '/'; rs(12) = yr/0x10 + 48; rs(13) = yr%0x10 + 48; rs(14) = ''; } void rtc_init { start; write(0xD0); write(0x00); write(0x00); write(0x00); write(0x13); write(0x05); write(0x12); write(0x04); write(0x12); stop; } void write_records(unsigned char *str); void read_records; void main { unsigned char rec_data(13),i,t; RELAY = 0; lcd_init; serial_init; rtc_init; idealay; start; write(0xA0); write(0x7F); write(0xFF); stop; start; write(0xA1); no_of_records = read ; nack ; stop; // no_of_records = 0; while(1) { start: lcd_command(0x01); lcd_string(0x80,"RFID ATTENDANCE"); lcd_string(0xC5,"SYSTEM"); i = 0; while(1) { if(RI==1) { RI = 0; t = receive ; if(t == '+') { read_records; goto start; } else { rec_data(i) = t; for(i=1;i<12;i++) rec_data(i) = receive ; rec_data(i) = ''; break; } } } i = strcmp(RFID_1,rec_data); //match => i = 0 lcd_command(0x01); if(i==0) { RELAY = 1; lcd_string(0x80,name_1); rtc_read; lcd_string(0xC0,rs); long_delay; write_records(name_1); RELAY = 0; goto start; } // i = strcmp(RFID_2,rec_data); //match => i = 0 if(i==0) { RELAY = 1; lcd_string(0x80,name_2); rtc_read; lcd_string(0xC0,rs); long_delay; write_records(name_2); RELAY = 0; goto start; } // i = strcmp(RFID_3,rec_data); //match => i = 0 if(i==0) { RELAY = 1; lcd_string(0x80,name_3); rtc_read; lcd_string(0xC0,rs); long_delay; write_records(name_3); RELAY = 0; goto start; } i = strcmp(RFID_4,rec_data); //match => i = 0 if(i==0) { RELAY = 1; lcd_string(0x80,name_4); rtc_read; lcd_string(0xC0,rs); long_delay; write_records(name_4); RELAY = 0; goto start; } i = strcmp(RFID_5,rec_data); //match => i = 0 if(i==0) { RELAY = 1; lcd_string(0x80,name_5); no_of_records = 0; start; write(0xA0); write(0x7F); write(0xFF); write(0x00); stop; lcd_string(0xC0,"MEMORY CLEARED"); long_delay; RELAY = 0; goto start; } lcd_string(0x80,"ERROR"); lcd_string(0xC0,rec_data); long_delay; } }