W tym projekcie systemu obecności opartego na technologii RFID wyjaśnimy, w jaki sposób możemy automatycznie liczyć obecność przy użyciu kart RFID. Technologia RFID (identyfikacja i wykrywanie częstotliwości radiowych) jest powszechnie stosowana w szkołach, na uczelniach, w biurach i na stacjach do różnych celów, aby automatycznie śledzić ludzi. Tutaj policzymy obecność upoważnionej osoby za pomocą RFID.
Cały system obecności możemy podzielić na różne sekcje: czytnik, sterowanie, kierowca i wyświetlacz. Rola każdej sekcji jest pokazana na poniższym schemacie blokowym:
Sekcja czytelnika
Ta sekcja zawiera RFID, czyli urządzenie elektroniczne, które składa się z dwóch części - jedna to czytnik RFID, a druga to tag RFID lub karta. Kiedy umieszczamy tag RFID blisko czytnika RFID, odczytuje on dane tagów seryjnie. Tag RFID ma 12-cyfrowy kod w cewce. Ten RFID działa z szybkością transmisji 9600 bps. RFID wykorzystuje elektromagnes do przesyłania danych z czytnika do znacznika lub znacznika do czytnika.
Sekcja Kontroli:
Mikrokontroler 8051 służy do sterowania całym procesem tego projektu. Tutaj za pomocą 8051 odbieramy dane RFID i wysyłamy status lub komunikaty do LCD.
Sekcja wyświetlania:
W tym projekcie do wyświetlania komunikatów zastosowano wyświetlacz LCD 16x2.
Sekcja kierowcy:
Ta sekcja zawiera sterownik silnika L293D do otwierania bramki i brzęczyk z tranzystorem BC547 NPN do wskazań.
Pracujący
Kiedy osoba umieszcza swój tag RFID w czytniku RFID, RFID odczytuje dane znacznika i wysyła je do mikrokontrolera 8051, a następnie mikrokontroler porównuje te dane ze zdefiniowanymi danymi lub informacjami. Jeśli dane są zgodne ze zdefiniowanymi danymi, to mikrokontroler zwiększa obecność jednej z osób w tagu, a jeśli dopasowanie nie następuje, to mikrokontroler pokazuje nieprawidłową kartę na wyświetlaczu LCD, a brzęczyk przez pewien czas emituje ciągły sygnał dźwiękowy.
Schemat obwodu dla projektu systemu frekwencji z obsługą RFID przedstawiono powyżej. W układzie LCD podłączony jest w trybie czterobitowym z mikrokontrolerem 8051. Piny RS, RW i EN wyświetlacza LCD są bezpośrednio podłączone do pinów PORT 1 o numerach P1.0, P1.1 i P1.2. Piny D4, D5, D6 i D7 wyświetlacza LCD są bezpośrednio podłączone do pinów P1.4, P1.5, P1.6 i P1.7 portu 1. Sterownik silnika jest podłączony do pinów PORT P2.4 i P2.5. a brzęczyk jest podłączony do P2.6 na PORT2.
Objaśnienie programu
Aby zaprogramować system częstotliwości oparty na RFID, musimy najpierw dołączyć pliki nagłówkowe i zdefiniować pin wejściowy i wyjściowy oraz zmienne.
#zawierać
Następnie musimy stworzyć funkcję opóźnienia.
void delay (int itime) {int i, j; dla (i = 0; i
Następnie wykonujemy jakąś funkcję dla LCD i inicjalizujemy funkcję lcd,
void lcd_init (void) {lcdcmd (0x02); lcdcmd (0x28); lcdcmd (0x0e); lcdcmd (0x01); }
Tutaj mamy pewną funkcję, której użyliśmy w naszym programie. W tym skonfigurowaliśmy szybkość transmisji 9600bps przy częstotliwości kryształów 11,0592 MHz. Monitorujemy rejestr SBUF pod kątem odbioru danych.
void uart_init () {TMOD = 0x20; SCON = 0x50; TH1 = 0xfd; TR1 = 1; } char rxdata () {while (! RI); ch = SBUF; RI = 0; return ch; }
Następnie w głównym programie zainicjowaliśmy lcd i UART, a następnie odczytujemy wyjście RFID, gdy dowolny tag na nim jest. Przechowujemy ten ciąg w tablicy, a następnie dopasowujemy do predefiniowanych danych tablicy.
lcdcmd (1); lcdstring ("Umieść swoją kartę:"); lcdcmd (0xc0); i = 0; for (i = 0; i <12; i ++) rfid = rxdata (); rfid = '\ 0'; lcdcmd (1);
Jeśli dojdzie do dopasowania, kontroler zwiększa frekwencję o jeden. W przeciwnym razie brzęczyk dźwiękowy działa w sposób ciągły, a wyświetlacz LCD pokazuje nieprawidłową kartę.
if (strncmp (rfid, "160066A5EC39", 12) == 0) {count1 ++; lcdcmd (1); lcdstring ("Obecność"); lcdcmd (0xc0); lcdstring ("Zarejestrowany"); opóźnienie (200); lcdcmd (1); lcdstring ("Student1"); lcdcmd (0xc0); lcdstring ("Attnd. No.:"); sprintf (wynik, "% d", liczba1); lcdstring (wynik);
Układ PCB
Oto układ PCB dla systemu obecności opartego na RFID: