U ovom ćemo projektu razviti RFID i sigurnosni sustav zasnovan na tipkovnici. Ovaj se projekt provodi pomoću mikrokontrolera 8051. RFID tehnologija (identifikacija i otkrivanje radio frekvencija) obično se koristi u školama, fakultetima, uredima i postajama u razne svrhe za automatsku provjeru autentičnosti ljudi s valjanim RFID oznakama. Ovdje ćemo provjeriti RFID oznaku, zajedno s lozinkom povezanom s oznakom, kako bismo osigurali sustav.
Radno
Kompletni sigurnosni sustav možemo podijeliti na različite odjeljke - odjeljak čitač, tipkovnica, upravljački odjeljak, odjeljak upravljačkog programa i zaslon. Rad cijelog sustava i uloga svakog odjeljka mogu se razumjeti kroz donji blok dijagram.

Odjeljak čitača: Ovaj odjeljak sadrži RFID, elektronički uređaj koji se sastoji od dva dijela - jedan je RFID čitač, a drugi RFID oznaka ili kartica. Kada RFID oznaku postavimo blizu RFID čitača, on čita podatke o oznakama serijski. RFID oznaka koju smo ovdje koristili ima 12-znamenkasti kôd ili serijski broj. Ovaj RFID radi na brzini prijenosa od 9600 bps.
Tipkovnica: Ovdje smo koristili matričnu tipkovnicu 4x4 za unos lozinke u sustav.

Upravljački odjeljak: Mikrokontroler 8051 koristi se za upravljanje cjelovitim postupkom ovog sigurnosnog sustava temeljenog na RFID-u. Ovdje korištenjem 8051 primamo RFID podatke i šaljemo status ili poruke na LCD.
Odjeljak zaslona: 6x2 LCD koristi se u ovom projektu za prikaz poruka na njemu. Ovdje možete vidjeti tutorial: LCD povezivanje s mikrokontrolerom 8051
Odjeljak za vozača: Ovaj odjeljak ima motorni pogon L293D za otvaranje vrata i zujalicu s BC547 NPN tranzistorom za indikacije.
Kad 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 unaprijed definiranim podacima. Ako se podaci podudaraju s unaprijed definiranim podacima, tada mikrokontroler traži lozinku i nakon unosa lozinke mikrokontroler uspoređuje lozinku s unaprijed definiranom lozinkom. Ako se vrata za podudaranje lozinke otvore u suprotnom, na LCD-u će se prikazati Pristup odbijen i zujalo će početi oglašavati neko vrijeme.
Kružni dijagram i objašnjenje

Kao što je prikazano na gornjoj shemi sklopa RFID sigurnosnog sustava, LCD 16x2 povezan je u četverobitni način rada s mikrokontrolerom. 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 povezan je na PORT brojeve p2.4 i P2.5. Zujalica je spojena na P2.6 na PORT2. A tipkovnica je spojena na PORT0. Red tipkovnice spojen je na P0.4 - P0.7, a stupci na P0.0 - P0.3.
Objašnjenje programa
Tijekom programiranja mikrokontrolera 8051 za sigurnosni sustav zasnovan na RFID-u, prije svega uključujemo datoteke zaglavlja i definiramo ulazni i izlazni pin i varijable.
#include
Zatim definirajte igle za modul tipkovnice.
sbit col1 = P0 ^ 0; sbit col2 = P0 ^ 1; sbit col3 = P0 ^ 2; sbit col4 = P0 ^ 3; sbit red1 = P0 ^ 4; sbit red2 = P0 ^ 5; sbit red3 = P0 ^ 6; sbit red4 = P0 ^ 7;
Nakon toga stvorili smo funkciju za kašnjenje.
odgoda praznine (int itime) {int i, j; za (i = 0; i
Zatim napravimo neku funkciju za LCD i inicijaliziramo lcd funkciju, praznina lcd_init (void) {lcdcmd (0x02); lcdcmd (0x28); lcdcmd (0x0e); lcdcmd (0x01); }
Ovdje imamo neku funkciju koju smo koristili u našem programu. U ovome smo konfigurirali brzinu prijenosa od 9600 bps na kristalnoj frekvenciji 11,0592 MHz, a za primanje nadgledamo 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 kad se na njega nanese bilo koja oznaka. Taj niz pohranjujemo u niz, a zatim se podudaramo s unaprijed utvrđenim podacima niza. A zatim uskladite lozinku.
if (strncmp (rfid, "160066A5EC39", 12) == 0) {tipkovnica (); if (strncmp (pass, "4201", 4) == 0) {accept (); lcdcmd (1); lcdstring ("Pristup odobren"); lcdcmd (0xc0);
Ako se dogodi podudaranje, kontroler otvara vrata, u protivnom se pokreće zujalica i LCD prikazuje nevaljanu karticu.
