V tem projektu, ki temelji na sistemu RFID, vam bomo razložili, kako lahko samodejno štejemo udeležbo z uporabo kartic RFID. Tehnologija RFID (identifikacija in zaznavanje radijskih frekvenc) se pogosto uporablja v šolah, na fakultetah, v pisarnah in na postajah za različne namene, da samodejno beleži ljudi. Tu bomo šteli prisotnost pooblaščene osebe z uporabo RFID.
Celoten sistem prisotnosti lahko razdelimo na različne odseke: bralni odsek, odsek za nadzor, odsek za voznike in odsek. Vloga vsakega odseka je prikazana v spodnjem blokovnem diagramu:
Oddelek za bralce
Ta odsek vsebuje RFID, ki je elektronska naprava, ki ima dva dela - eden je RFID Reader in drugi RFID tag ali Card. Ko RFID oznako postavimo blizu čitalnika RFID, ta zaporedno bere podatke o oznakah. Oznaka RFID ima v tuljavi 12-mestno kodo znakov. Ta RFID deluje s hitrostjo prenosa 9600 bps. RFID uporablja elektromagnet za prenos podatkov iz bralnika v oznako ali oznako v bralnik.
Nadzorni oddelek:
Mikrokrmilnik 8051 se uporablja za nadzor celotnega procesa tega projekta. Tukaj z uporabo 8051 prejemamo podatke RFID in pošiljamo stanje ali sporočila na LCD.
Prikaz odseka:
V tem projektu se za prikaz sporočil uporablja LCD 16x2.
Oddelek za voznika:
Ta odsek vsebuje gonilnik motorja L293D za odpiranje vrat in zvočni signal s tranzistorjem BC547 NPN za indikacije.
Delo
Ko oseba da RFID oznako na RFID čitalnik, RFID prebere podatke oznake in jih pošlje mikrokrmilniku 8051, nato pa mikrokrmilnik te podatke primerja z opredeljenimi podatki ali informacijami. Če se podatki ujemajo z določenimi podatki, potem mikrokrmilnik poveča prisotnost ene osebe oznake in če se ujemanje ne zgodi, potem mikrokrmilnik na LCD-prikazovalniku prikaže neveljavno kartico in zvočni signal nekaj časa neprekinjeno piska.
Shema vezja za projekt sistema prisotnosti z RFID-jem je prikazana zgoraj. V vezju je LCD v štiri bitnem načinu povezan z mikrokrmilnikom 8051. Zatiči RS, RW in EN LCD so neposredno povezani s številkami PORT 1 pin P1.0, P1.1 in P1.2. Zatiči D4, D5, D6 in D7 LCD-ja so neposredno priključeni na nožice P1.4, P1.5, P1.6 in P1.7 priključka 1. Gonilnik motorja je povezan s številkami PORT-pin P2.4 in P2.5. in zvočni signal je priključen na P2.6 na PORT2.
Pojasnilo programa
Če želimo programirati sistem RF za spremljanje na osnovi RFID, moramo najprej vključiti datoteke z glavo in definirati vhodni in izhodni pin in spremenljivke.
#include
Po tem moramo ustvariti funkcijo za zakasnitev.
zamuda praznine (int itime) {int i, j; za (i = 0; i
Nato naredimo nekaj funkcije za LCD in inicializiramo lcd fuction,
void lcd_init (void) {lcdcmd (0x02); lcdcmd (0x28); lcdcmd (0x0e); lcdcmd (0x01); }
Tu imamo nekaj funkcij, ki smo jih uporabili v našem programu. V tem smo konfigurirali hitrost prenosa 9600 bps pri kristalni frekvenci 11,0592 MHz. Spremljamo register SBUF za prejemanje podatkov.
void uart_init () {TMOD = 0x20; SCON = 0x50; TH1 = 0xfd; TR1 = 1; } char rxdata () {while (! RI); ch = SBUF; RI = 0; vrnitev ch; }
Po tem smo v glavnem programu inicializirali lcd in UART in nato prebrali izhod RFID, ko je na njem katera koli oznaka. Ta niz shranimo v matriko in se nato ujema z vnaprej določenimi podatki matrike.
lcdcmd (1); lcdstring ("Vstavi svojo kartico:"); lcdcmd (0xc0); i = 0; za (i = 0; i <12; i ++) rfid = rxdata (); rfid = '\ 0'; lcdcmd (1);
Če nastopijo tekme, kontrolor poveča prisotnost za eno. Drugi zvočni zvočni signal neprekinjeno teče in LCD prikazuje neveljavno kartico.
if (strncmp (rfid, "160066A5EC39", 12) == 0) {count1 ++; lcdcmd (1); lcdstring ("Udeležba"); lcdcmd (0xc0); lcdstring ("Registriran"); zamuda (200); lcdcmd (1); lcdstring ("Študent1"); lcdcmd (0xc0); lcdstring ("Udeležba št.:"); sprintf (rezultat, "% d", count1); lcdstring (rezultat);
Postavitev PCB
Tu je postavitev tiskanega vezja za sistem prisotnosti na osnovi RFID: