Šiame RFID pagrįstoje lankomumo sistemos projekte paaiškinsime, kaip mes galime automatiškai suskaičiuoti lankomumą naudojant RFID korteles. RFID technologija (radijo dažnių atpažinimas ir aptikimas) dažniausiai naudojama mokyklose, kolegijose, biuruose ir stotyse įvairiems tikslams, siekiant automatiškai sekti žmonių sekimą. Čia mes suskaičiuosime įgalioto asmens dalyvavimą naudojant RFID.
Visą lankomumo sistemą galime suskirstyti į skirtingas dalis: skaitytojo skyrių, valdymo skyrių, vairuotojo skyrių ir ekrano skyrių. Kiekvieno skyriaus vaidmuo parodytas toliau pateiktoje blokinėje diagramoje:
Skaitytojo skyrius
Šiame skyriuje yra RFID, kuris yra elektronikos prietaisas, turintis dvi dalis - viena yra RFID skaitytuvas, kita - RFID žyma arba kortelė. Kai pridedame RFID žymą šalia RFID skaitytuvo, ji nuosekliai nuskaito žymos duomenis. RDA žymoje ritėje yra 12 skaitmenų simbolių kodas. Šis RDA veikia 9600 bps sparta. RFID naudoja elektromagnetą duomenims perkelti iš skaitytuvo į etiketę arba žymeklį skaitytojui.
Valdymo skyrius:
8051 mikrovaldiklis naudojamas visam šio projekto procesui valdyti. Naudodami 8051, mes gauname RDA duomenis ir siunčiame būseną ar pranešimus į LCD.
Rodyti skyrių:
Šiame projekte pranešimams rodyti naudojamas 16x2 skystųjų kristalų ekranas.
Vairuotojo skyrius:
Šiame skyriuje yra variklio vairuotojas L293D vartams atidaryti ir signalas su BC547 NPN tranzistoriumi indikacijoms.
Dirba
Kai asmuo įdeda savo RFID žymą į RDA skaitytuvą, tada RFID nuskaito žymos duomenis ir siunčia juos į 8051 mikrovaldiklį, o tada mikrovaldiklis palygina šiuos duomenis su apibrėžtais duomenimis ar informacija. Jei duomenys suderinami su apibrėžtais duomenimis, mikrovaldiklis padidina vieno žymos asmens dalyvavimą, o jei neatitinka, mikrovaldiklis LCD ekrane rodo netinkamą kortelę, o garsinis signalas kurį laiką nuolat pypsi.
Aukščiau pavaizduota RFID perduodamos lankomumo sistemos projekto schema. Grandinėje LCD yra sujungtas keturių bitų režimu su mikrovaldikliu 8051. LCD RS, RW ir EN kaiščiai yra tiesiogiai prijungti prie PORT 1 kaiščių numerių P1.0, P1.1 ir P1.2. D4, D5, D6 ir D7 skystųjų kristalų kaiščiai yra tiesiogiai prijungti prie 1 prievado P1.4, P1.5, P1.6 ir P1.7. Variklio tvarkyklė prijungta prie PORT kaiščių P2.4 ir P2.5. o garsinis signalas yra prijungtas P2.6 prie PORT2.
Programos paaiškinimas
Norėdami programuoti RFID pagrįstą priežiūros sistemą, pirmiausia turime įtraukti antraštės failus ir apibrėžti įvesties ir išvesties kaiščius bei kintamuosius.
# įtraukti
Po to turime sukurti uždelsimo funkciją.
void delay (int itime) {int i, j; už (i = 0; i
Tada mes atliekame tam tikrą LCD funkciją ir inicijuojame LCD gamybą,
negaliojantis lcd_init (negaliojantis) {lcdcmd (0x02); lcdcmd (0x28); lcdcmd (0x0e); lcdcmd (0x01); }
Čia mes turime tam tikrą funkciją, kurią naudojome savo programoje. Tuo mes sukonfigūravome 9600bps perdavimo spartą 11.0592MHz kristalų dažniu. Stebime SBUF registrą, ar nėra duomenų.
void uart_init () {TMOD = 0x20; SCON = 0x50; TH1 = 0xfd; TR1 = 1; } char rxdata () {while (! RI); ch = SBUF; RI = 0; grįžti ch; }
Po to pagrindinėje programoje mes inicijavome LCD ir UART, tada mes nuskaitome RDA išvestį, kai joje yra viena žyma. Mes saugome šią eilutę masyve ir tada suderiname su iš anksto nustatytais masyvo duomenimis.
lcdcmd (1); lcdstring ("Padėkite kortelę:"); lcdcmd (0xc0); i = 0; už (i = 0; i <12; i ++) rfid = rxdata (); rfid = '\ 0'; lcdcmd (1);
Jei įvyksta rungtynės, valdiklis padidina lankomumą vienu. Kitas garsinis signalas nuolat veikia, o skystųjų kristalų ekrane rodoma netinkama kortelė.
jei (strncmp (rfid, "160066A5EC39", 12) == 0) {count1 ++; lcdcmd (1); lcdstring („Dalyvavimas“); lcdcmd (0xc0); lcdstring („Registruota“); vėlavimas (200); lcdcmd (1); lcdstring („Student1“); lcdcmd (0xc0); lcdstring ("Attnd. Nr.:"); „sprintf“ (rezultatas, „% d“, skaičius1); lcdstring (rezultatas);
PCB išdėstymas
Čia yra RFID pagrįstos lankomumo sistemos PCB išdėstymas: