Ebben a projektben egy RFID és billentyűzet alapú biztonsági rendszert fogunk kifejleszteni. A projekt a 8051 mikrokontroller használatával valósul meg. Az RFID-technikát (rádiófrekvenciás azonosítás és detektálás) általában használják iskolákban, főiskolákon, irodákban és állomásokon különböző célokra, hogy automatikusan hitelesítsék az embereket érvényes RFID-címkékkel. Itt ellenőrizzük az RFID címkét és a címkéhez társított jelszót a rendszer biztonsága érdekében.
Dolgozó
A teljes biztonsági rendszert különféle szakaszokra oszthatjuk fel - Olvasó, Kezelő, Vezérlő, Illesztőprogram és Kijelző részekre. A teljes rendszer működése és az egyes szakaszok szerepe megérthető az alábbi blokkdiagramon.
Olvasó rész: Ez a szakasz egy RFID-t tartalmaz, amely egy elektronikai eszköz, amelynek két része van - az egyik az RFID-olvasó, a másik az RFID-címke vagy a kártya. Amikor az RFID-címkét az RFID-olvasó közelébe helyezzük, sorosan olvassa a címke adatait. Az itt használt RFID címkének 12 jegyű karakter kódja vagy sorozatszáma van. Ez az RFID 9600 bps sebességgel működik.
Kezelő: Itt egy 4x4-es mátrix billentyűzetet használtunk a jelszó beírásához a rendszerbe.
Vezérlő szakasz: A 8051 mikrovezérlő az RFID alapú biztonsági rendszer teljes folyamatának vezérlésére szolgál. Itt a 8051 használatával RFID adatokat fogadunk és állapotot vagy üzeneteket küldünk az LCD-nek.
Kijelző szakasz: A projektben 6x2 LCD-t használnak az üzenetek megjelenítésére. Itt láthatja az oktatóanyagot: LCD interfész a 8051 mikrovezérlővel
Vezérlő rész: Ez a szakasz rendelkezik egy L293D motor meghajtóval a kapu kinyitásához és egy hangjelzővel egy BC547 NPN tranzisztorral a jelzésekhez.
Amikor egy személy felhelyezi RFID-címkéjét az RFID-olvasóra, az RFID elolvassa a címke adatait és elküldi a 8051 mikrovezérlőnek, majd a mikrovezérlő összehasonlítja ezeket az adatokat előre definiált adatokkal. Ha az adatokat előre definiált adatokkal párosítják, akkor a mikrovezérlő kérjen jelszót, és a jelszó megadása után a mikrokontroller összehasonlítsa a jelszót az előre definiált jelszóval. Ha a jelszóegyeztetés kapuja megnyílik, különben az LCD-n megjelenik a Hozzáférés megtagadva és a hangjelző valamikor sípolni kezd.
Áramkör diagram és magyarázat
Az RFID biztonsági rendszer fenti kapcsolási rajzának megfelelően a 16x2 LCD négybites módban van csatlakoztatva mikrovezérlővel. Az LCD RS, RW és EN érintkezői közvetlenül csatlakoznak a PORT 1 P1.0, P1.1 és P1.2 pólusokhoz. Az LCD D4, D5, D6 és D7 érintkezõi közvetlenül az 1. port P1.4, P1.5, P1.6 és P1.7 érintkezõihez vannak csatlakoztatva. A motor meghajtója a P2.4 és P2.5 PORT csapokhoz csatlakozik. A hangjelző pedig a P2.6-nál van csatlakoztatva a PORT2-nél. A kezelő pedig a PORT0-hoz csatlakozik. A kezelő sorok a P0.4 - P0.7 és az oszlopok a P0.0 - P0.3 ponton vannak összekötve.
A program magyarázata
Az RFID alapú biztonsági rendszer 8051 mikrovezérlőjének programozása során mindenekelőtt fejlécfájlokat tartalmazunk, és meghatározzuk a bemeneti és kimeneti tűket és változókat.
#include
Ezután adjon meg csapokat a kezelő modulhoz.
sbit col1 = P0 ^ 0; sbit col2 = P0 ^ 1; sbit col3 = P0 ^ 2; sbit col4 = P0 ^ 3; sbit 1. sor = P0 ^ 4; sbit 2. sor = P0 ^ 5; sbit 3. sor = P0 ^ 6; sbit sor4 = P0 ^ 7;
Ezek után létrehoztunk egy késleltetési funkciót.
void delay (int itime) {int i, j; mert (i = 0; i
Ezután készítünk néhány funkciót az LCD-re és inicializáljuk az LCD funkciót, void lcd_init (void) {lcdcmd (0x02); lcdcmd (0x28); lcdcmd (0x0e); lcdcmd (0x01); }
Itt van néhány funkció, amelyet a programunkban használtunk. Ebben 9600 bps átviteli sebességet állítottunk be 11.0592MHz kristályfrekvencián, és a vétel fogadásához figyeljük az SBUF regisztert az adatok vételére.
void uart_init () {TMOD = 0x20; SCON = 0x50; TH1 = 0xfd; TR1 = 1; } char rxdata () {while (! RI); ch = SBUF; RI = 0; visszatér ch; }
Ezt követően a fő programban inicializáltuk az lcd-t és az Uart-ot, majd leolvassuk az RFID kimenetét, amikor bármilyen címke kerül rá. Ezt a karakterláncot egy tömbben tároljuk, majd egyeztetjük a tömb előre definiált adataival. Ezután illessze be a jelszót.
if (strncmp (rfid, "160066A5EC39", 12) == 0) {billentyűzet (); if (strncmp (passz, "4201", 4) == 0) {accept (); lcdcmd (1); lcdstring ("Hozzáférés megadva"); lcdcmd (0xc0);
Ha egyezés következik be, akkor a vezérlő kinyitja a kaput, különben a hangjelző elindul, és az LCD-n érvénytelen kártya látható.