I dette RFID-baserte Attendance System-prosjektet vil vi forklare deg hvordan vi kan telle oppmøte automatisk ved hjelp av RFID-kort. RFID-teknologi (Radio Frequency Identification and Detection) brukes ofte i skoler, høyskoler, kontorer og stasjoner for forskjellige formål for automatisk å holde oversikt over mennesker. Her vil vi telle oppmøtet til en autorisert person ved å bruke RFID.
Vi kan dele det komplette fremmøtesystemet i forskjellige seksjoner: leserseksjon, kontrollseksjon, førerseksjon og skjermseksjon. Rollen til hver seksjon er vist i blokkdiagrammet nedenfor:
Leserseksjon
Denne seksjonen inneholder en RFID, som er en elektronikkinnretning som har to deler - den ene er RFID-leser og den andre er RFID-tag eller kort. Når vi setter RFID-koden nær RFID-leseren, leser den taggdata serielt. RFID-koden har 12-sifret tegnkode i en spole. Denne RFID fungerer med overføringshastighet på 9600 bps. RFID bruker elektromagnet for å overføre data fra leser til tag eller tag til leser.
Kontroll seksjon:
8051 mikrokontroller brukes til å kontrollere hele prosessen av dette prosjektet. Her ved å bruke 8051 mottar vi RFID-data og sender status eller meldinger til LCD.
Vis seksjon:
En 16x2 LCD brukes i dette prosjektet for å vise meldinger på den.
Førerseksjon:
Denne seksjonen har en motordriver L293D for å åpne porten og en summer med en BC547 NPN-transistor for indikasjoner.
Jobber
Når en person setter RFID-koden til RFID-leseren, leser RFID kodenes data og sender den til 8051 mikrokontroller, og deretter sammenligner mikrokontrolleren disse dataene med definerte data eller informasjon. Hvis data samsvares med definerte data, øker mikrokontrolleren oppmøtet av en av personene på taggen, og hvis det ikke forekommer samsvar, viser mikrokontrolleren ugyldig kort på LCD-skjermen, og summeren piper kontinuerlig i noen tid.
Kretsskjema for RFID bassed-fremmøte-systemprosjekt er vist ovenfor. I kretsen er LCD koblet i firebitsmodus med 8051 mikrokontroller. LCDs RS-, RW- og EN-pinner er direkte koblet til PORT 1-pin nummer P1.0, P1.1 og P1.2. D4, D5, D6 og D7-pinner på LCD-skjermen er direkte koblet til pinne P1.4, P1.5, P1.6 og P1.7 i port 1. Motordriveren er koblet til PORT-pin nummer P2.4 og P2.5. og summer er koblet til P2.6 på PORT2.
Programforklaring
For å programmere for RFID-basert attedanssystem, må vi først inkludere headerfiler og definerer inngangs- og utgangspinne og variabler.
#inkludere
Etter dette må vi lage en funksjon for forsinkelse.
ugyldig forsinkelse (int itime) {int i, j; for (i = 0; i
Så lager vi litt funksjon for LCD og initialiserer LCD-fuksjon,
ugyldig lcd_init (ugyldig) {lcdcmd (0x02); lcdcmd (0x28); lcdcmd (0x0e); lcdcmd (0x01); }
Her har vi noen funksjoner som vi har brukt i programmet vårt. I dette har vi konfigurert 9600bps baudrate på 11.0592MHz Crystal Frequency. Vi overvåker SBUF-registeret for mottak av data.
ugyldig uart_init () {TMOD = 0x20; SCON = 0x50; TH1 = 0xfd; TR1 = 1; } char rxdata () {while (! RI); ch = SBUF; RI = 0; retur ch; }
Etter dette i hovedprogrammet har vi initialisert lcd og UART, og deretter leser vi utdataene fra RFID når noen merker på den. Vi lagrer denne strengen i en matrise og samsvarer deretter med forhåndsdefinerte matardata.
lcdcmd (1); lcdstring ("Plasser kortet ditt:"); lcdcmd (0xc0); i = 0; for (i = 0; i <12; i ++) rfid = rxdata (); rfid = '0'; lcdcmd (1);
Hvis kamp skjer, øker kontrolleren oppmøtet med en. Annet pipelyd går kontinuerlig, og LCD viser ugyldig kort.
hvis (strncmp (rfid, "160066A5EC39", 12) == 0) {count1 ++; lcdcmd (1); lcdstring ("Oppmøte"); lcdcmd (0xc0); lcdstring ("Registrert"); forsinkelse (200); lcdcmd (1); lcdstring ("Student1"); lcdcmd (0xc0); lcdstring ("Attnd. No.:"); sprintf (resultat, "% d", count1); lcdstring (resultat);
PCB-oppsett
Her er PCB-oppsettet for RFID-basert fremmøtesystem: