În acest proiect de sistem de prezență bazat pe RFID, vă vom explica cum putem conta automat prezența utilizând carduri RFID. Tehnologia RFID (identificarea și detectarea frecvenței radio) este utilizată în mod obișnuit în școli, colegii, birouri și stații în diferite scopuri pentru a ține automat o evidență a oamenilor. Aici vom număra prezența unei persoane autorizate utilizând RFID.
Putem împărți sistemul complet de prezență în diferite secțiuni: secțiunea cititor, secțiunea de control, secțiunea șofer și secțiunea afișaj. Rolul fiecărei secțiuni este prezentat în diagrama bloc de mai jos:
Secțiunea Reader
Această secțiune conține un RFID, care este un dispozitiv electronic care are două părți - una este RFID Reader și alta este etichetă RFID sau Card. Când punem eticheta RFID aproape de cititorul RFID, aceasta citește datele etichetei în serie. Eticheta RFID are un cod de 12 cifre într-o bobină. Acest RFID funcționează la o rată de transmisie de 9600 bps. RFID folosește electromagnetul pentru a transfera date de la cititor la etichetă sau etichetă la cititor.
Secțiunea de control:
Microcontrolerul 8051 este utilizat pentru controlul procesului complet al acestui proiect. Aici, folosind 8051, primim date RFID și trimitem starea sau mesajele pe LCD.
Afișați secțiunea:
Un ecran LCD de 16x2 este utilizat în acest proiect pentru afișarea mesajelor pe acesta.
Secțiunea șoferului:
Această secțiune are un driver L293D pentru deschiderea porții și un buzzer cu un tranzistor BC547 NPN pentru indicații.
Lucru
Când o persoană își pune eticheta RFID pe cititorul RFID, atunci RFID citește datele etichetei și le trimite către microcontrolerul 8051, iar apoi microcontrolerul compară aceste date cu date sau informații definite. Dacă datele sunt potrivite cu datele definite, atunci microcontrolerul crește prezența unei persoane a etichetei și, dacă nu se potrivește, atunci microcontrolerul arată cardul invalid pe LCD și buzzerul sună continuu de ceva timp.
Diagrama circuitului pentru proiectul sistemului de prezență cu bas RFID este prezentată mai sus. În circuit, ecranul LCD este conectat în modul pe patru biți cu microcontroler 8051. Pinii RS, RW și EN LCD sunt conectați direct la PORT 1 pin numărul P1.0, P1.1 și P1.2. Pinii D4, D5, D6 și D7 ai ecranului LCD sunt conectați direct la pinii P1.4, P1.5, P1.6 și P1.7 ai portului 1. Driverul motorului este conectat la pinul PORT numărul P2.4 și P2.5. iar buzzer-ul este conectat la P2.6 la PORT2.
Explicația programului
Pentru a programa pentru sistemul de concordanță bazat pe RFID, trebuie mai întâi să includem fișiere antet și să definim pinul și variabilele de intrare și de ieșire.
#include
După aceasta, trebuie să creăm o funcție pentru întârziere.
void delay (int itime) {int i, j; pentru (i = 0; i
Apoi facem unele funcții pentru LCD și inițializăm producția lcd,
void lcd_init (void) {lcdcmd (0x02); lcdcmd (0x28); lcdcmd (0x0e); lcdcmd (0x01); }
Aici avem unele funcții pe care le-am folosit în programul nostru. În aceasta am configurat o rată de transmisie de 9600bps la 11.0592MHz Crystal Frequency. Monitorizăm registrul SBUF pentru primirea datelor.
void uart_init () {TMOD = 0x20; SCON = 0x50; TH1 = 0xfd; TR1 = 1; } char rxdata () {while (! RI); ch = SBUF; RI = 0; returnează ch; }
După aceasta, în programul principal, am inițializat lcd și UART și apoi citim ieșirea RFID atunci când orice etichetă de pe ea. Stocăm acest șir într-o matrice și apoi ne potrivim cu datele matricei predefinite.
lcdcmd (1); lcdstring („Plasați cardul:”); lcdcmd (0xc0); i = 0; pentru (i = 0; i <12; i ++) rfid = rxdata (); rfid = '\ 0'; lcdcmd (1);
Dacă are loc meciul, controlerul mărește prezența cu unul. Celelalte sunete sonore rulează continuu, iar ecranul LCD afișează un card invalid.
if (strncmp (rfid, "160066A5EC39", 12) == 0) {count1 ++; lcdcmd (1); lcdstring („Prezență”); lcdcmd (0xc0); lcdstring („Înregistrat”); întârziere (200); lcdcmd (1); lcdstring ("Student1"); lcdcmd (0xc0); lcdstring ("Nr. de identificare:"); sprintf (rezultat, "% d", count1); lcdstring (rezultat);
Aspect PCB
Iată aspectul PCB pentru sistemul de prezență bazat pe RFID: