U ovom projektu Sustava pohađanja koji se temelji na RFID-u objasnit ćemo vam kako možemo automatski računati prisustvo pomoću RFID kartica. RFID tehnologija (identifikacija i otkrivanje radio frekvencija) obično se koristi u školama, fakultetima, uredima i postajama u razne svrhe za automatsko praćenje ljudi. Ovdje ćemo računati prisustvo ovlaštene osobe pomoću RFID-a.
Kompletni sustav prisutnosti možemo podijeliti na različite odjeljke: odjeljak čitača, odjeljak upravljanja, odjeljak vozača i zaslon. Uloga svakog odjeljka prikazana je u donjem blok dijagramu:

Čitateljska sekcija
Ovaj odjeljak sadrži RFID, elektronički uređaj koji ima dva dijela - jedan je RFID čitač, a drugi RFID oznaka ili kartica. Kad RFID oznaku postavimo blizu RFID čitača, on čita podatke oznake serijski. RFID oznaka ima 12-znamenkasti kôd u zavojnici. Ovaj RFID radi na brzini prijenosa od 9600 bps. RFID koristi elektromagnet za prijenos podataka s čitača na oznaku ili oznaku na čitač.
Kontrolni odjeljak:
Mikrokontroler 8051 koristi se za upravljanje cjelovitim postupkom ovog projekta. Ovdje korištenjem 8051 primamo RFID podatke i šaljemo status ili poruke na LCD.
Prikaz odjeljka:
U ovom se projektu koristi LCD 16x2 za prikazivanje poruka na njemu.
Odjeljak za vozača:
Ovaj odjeljak sadrži motorni pogon L293D za otvaranje vrata i zujalicu s BC547 NPN tranzistorom za indikacije.
Radno
Kada osoba stavi svoju RFID oznaku na RFID čitač, RFID čita podatke oznake i šalje ih mikrokontroleru 8051, a zatim mikrokontroler uspoređuje te podatke s definiranim podacima ili informacijama. Ako se podaci podudaraju s definiranim podacima, tada mikrokontroler povećava prisutnost jedne osobe oznake, a ako se ne podudara, mikrokontroler prikazuje nevaljanu karticu na LCD-u, a zujalo neko vrijeme neprestano zvuči.

Dijagram sklopa za projekt sustava pohađanja zasnovan na RFID-u prikazan je gore. U krugu je LCD povezan u četverobitni način rada s mikrokontrolerom 8051. Priključci RS, RW i EN LCD-a izravno su povezani na PORT 1 pinski broj P1.0, P1.1 i P1.2. D4, D5, D6 i D7 pinovi LCD-a izravno su povezani na pinove P1.4, P1.5, P1.6 i P1.7 na priključku 1. Vozač motora spojen je na PORT brojeve pina P2.4 i P2.5. i zujalica je spojena na P2.6 na PORT2.
Objašnjenje programa
Da bismo programirali sustav praćenja temeljen na RFID-u, prvo moramo uključiti datoteke zaglavlja i definirati ulazni i izlazni pin i varijable.
#include
Nakon toga moramo stvoriti funkciju za kašnjenje.
odgoda praznine (int itime) {int i, j; za (i = 0; i
Zatim napravimo neku funkciju za LCD i inicijaliziramo lcd fukciju,
praznina lcd_init (void) {lcdcmd (0x02); lcdcmd (0x28); lcdcmd (0x0e); lcdcmd (0x01); }
Ovdje imamo neku funkciju koju smo koristili u našem programu. U ovom smo konfigurirali brzinu prijenosa od 9600 bps na kristalnoj frekvenciji 11,0592 MHz. Pratimo SBUF registar za primanje podataka.
praznina uart_init () {TMOD = 0x20; SCON = 0x50; TH1 = 0xfd; TR1 = 1; } char rxdata () {while (! RI); ch = SBUF; RI = 0; povratak ch; }
Nakon ovoga u glavnom programu, inicijalizirali smo lcd i UART, a zatim čitamo izlaz RFID-a kada se na njemu nalazi bilo koja oznaka. Taj niz pohranjujemo u niz, a zatim se podudaramo s unaprijed definiranim podacima niza.
lcdcmd (1); lcdstring ("Postavite svoju karticu:"); lcdcmd (0xc0); i = 0; za (i = 0; i <12; i ++) rfid = rxdata (); rfid = '\ 0'; lcdcmd (1);
Ako se pojave utakmice, kontrolor povećava prisustvo za jedan. Inače se zvučni signal oglašava neprekidno, a LCD prikazuje nevaljanu karticu.
if (strncmp (rfid, "160066A5EC39", 12) == 0) {count1 ++; lcdcmd (1); lcdstring ("Prisustvo"); lcdcmd (0xc0); lcdstring ("Registriran"); kašnjenje (200); lcdcmd (1); lcdstring ("Student1"); lcdcmd (0xc0); lcdstring ("Attnd. No.:"); sprintf (rezultat, "% d", count1); lcdstring (rezultat);
Izgled PCB-a
Evo izgleda PCB-a za sustav pohađanja zasnovan na RFID-u:

