Dalam proyek ini, kami akan mengembangkan sistem keamanan berbasis RFID dan keypad. Proyek ini dilaksanakan dengan menggunakan mikrokontroler 8.051. Teknologi RFID (Identifikasi dan Deteksi Frekuensi Radio) biasanya digunakan di sekolah, perguruan tinggi, kantor, dan stasiun untuk berbagai tujuan guna mengotentikasi orang secara otomatis dengan tag RFID yang valid. Di sini kami akan memeriksa tag RFID, bersama dengan kata sandi yang terkait dengan tag tersebut, untuk mengamankan sistem.
Kerja
Kami dapat membagi sistem keamanan lengkap menjadi beberapa bagian - bagian Pembaca, Keypad, bagian Kontrol, bagian Driver, dan bagian Tampilan. Kerja dari keseluruhan sistem dan peran setiap bagian dapat dipahami melalui diagram blok di bawah ini.
Bagian Pembaca: Bagian ini berisi RFID, yaitu perangkat elektronik yang memiliki dua bagian - satu adalah Pembaca RFID dan lainnya adalah tag atau Kartu RFID. Ketika kami meletakkan tag RFID di dekat pembaca RFID, itu membaca data tag secara serial. Tag RFID yang digunakan disini memiliki 12 digit kode karakter atau nomor seri. RFID ini bekerja pada baud rate 9600 bps.
Keypad: Di sini kami menggunakan keypad matriks 4x4 untuk memasukkan sandi ke sistem.
Bagian Kontrol: Mikrokontroler 8051 digunakan untuk mengontrol proses lengkap dari sistem keamanan berbasis RFID ini. Disini dengan menggunakan 8051 kita menerima data RFID dan mengirimkan status atau pesan ke LCD.
Bagian Tampilan: LCD 6x2 digunakan dalam proyek ini untuk menampilkan pesan di dalamnya. Disini anda bisa melihat tutorialnya: LCD interfacing dengan mikrokontroler 8.051
Bagian Pengemudi: Bagian ini memiliki driver motor L293D untuk membuka gerbang dan bel dengan transistor BC547 NPN untuk indikasi.
Ketika seseorang meletakkan tag RFID-nya ke pembaca RFID kemudian RFID membaca data tag tersebut dan mengirimkannya ke mikrokontroler 8051 kemudian mikrokontroler membandingkan data tersebut dengan data yang telah ditentukan sebelumnya. Jika data sudah sesuai dengan data yang telah ditentukan maka mikrokontroler meminta kata sandi dan setelah memasukkan kata sandi mikrokontroler membandingkan kata sandi dengan kata sandi yang telah ditentukan. Jika gerbang pencocokan kata sandi akan terbuka jika tidak, LCD menunjukkan Akses ditolak dan bel mulai berbunyi bip beberapa saat.
Diagram Sirkuit dan Penjelasannya
Seperti yang ditunjukkan pada diagram rangkaian sistem keamanan RFID di atas, LCD 16x2 dihubungkan dalam mode empat bit dengan mikrokontroler. Pin RS, RW dan EN LCD terhubung langsung pada pin PORT 1 nomor P1.0, P1.1 dan P1.2. Pin LCD D4, D5, D6 dan D7 langsung dihubungkan pada pin P1.4, P1.5, P1.6 dan P1.7 pada port 1. Driver motor dihubungkan pada pin PORT nomor P2.4 dan P2.5. Dan bel terhubung di P2.6 di PORT2. Dan keypad terhubung di PORT0. Baris keypad terhubung pada P0.4 - P0.7 dan Kolom terhubung pada P0.0 - P0.3.
Penjelasan Program
Saat memprogram mikrokontroler 8051 untuk sistem keamanan berbasis RFID, pertama-tama kami menyertakan file header dan mendefinisikan pin input dan output serta variabel.
#include
Kemudian tentukan pin untuk modul keypad.
sbit col1 = P0 ^ 0; sbit col2 = P0 ^ 1; sbit col3 = P0 ^ 2; sbit col4 = P0 ^ 3; sbit row1 = P0 ^ 4; sbit row2 = P0 ^ 5; sbit row3 = P0 ^ 6; sbit row4 = P0 ^ 7;
Setelah ini kami telah membuat fungsi untuk penundaan.
batal penundaan (saat ini) {int i, j; untuk (i = 0; i
Kemudian kita membuat beberapa fungsi untuk LCD dan menginisialisasi fungsi lcd, kosongkan lcd_init (kosong) {lcdcmd (0x02); lcdcmd (0x28); lcdcmd (0x0e); lcdcmd (0x01); }
Di sini kami memiliki beberapa fungsi yang telah kami gunakan dalam program kami. Dalam hal ini kami telah mengkonfigurasi kecepatan baud 9600bps pada Frekuensi Kristal 11,0592MHz, dan fungsi untuk menerima kami memantau register SBUF untuk menerima data.
batal uart_init () {TMOD = 0x20; SCON = 0x50; TH1 = 0xfd; TR1 = 1; } char rxdata () {while (! RI); ch = SBUF; RI = 0; kembali ch; }
Setelah ini di program utama kami telah menginisialisasi lcd dan Uart dan kemudian kami membaca output dari RFID ketika ada tag yang membawanya. Kami menyimpan string ini dalam sebuah array dan kemudian mencocokkan dengan data array yang telah ditentukan sebelumnya. Dan kemudian cocokkan kata sandinya.
if (strncmp (rfid, "160066A5EC39", 12) == 0) {keypad (); if (strncmp (pass, "4201", 4) == 0) {accept (); lcdcmd (1); lcdstring ("Akses Diberikan"); lcdcmd (0xc0);
Jika pertandingan terjadi maka pengontrol membuka gerbang, jika tidak bel mulai dan LCD menunjukkan kartu tidak valid.