Dalam proyek Sistem Absensi berbasis RFID ini, kami akan menjelaskan kepada Anda bagaimana kami dapat menghitung kehadiran secara otomatis dengan menggunakan kartu RFID. Teknologi RFID (Radio Frequency Identification and Detection) biasanya digunakan di sekolah, perguruan tinggi, kantor, dan stasiun untuk berbagai keperluan untuk melacak orang secara otomatis. Di sini kami akan menghitung kehadiran orang yang berwenang dengan menggunakan RFID.
Kami dapat membagi sistem absensi lengkap menjadi beberapa bagian: bagian pembaca, bagian kontrol, bagian pengemudi, dan bagian tampilan. Peran masing-masing bagian ditunjukkan pada 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 kita meletakkan tag RFID di dekat pembaca RFID, itu membaca data tag secara serial. Tag RFID memiliki 12 digit kode karakter dalam sebuah kumparan. RFID ini bekerja pada baud rate 9600 bps. RFID menggunakan elektromagnet untuk mentransfer data dari reader ke tag atau tag ke reader.
Bagian Kontrol:
Mikrokontroler 8051 digunakan untuk mengontrol proses lengkap proyek ini. Disini dengan menggunakan 8051 kita menerima data RFID dan mengirimkan status atau pesan ke LCD.
Bagian tampilan:
LCD 16x2 digunakan dalam proyek ini untuk menampilkan pesan di dalamnya.
Bagian pengemudi:
Bagian ini memiliki driver motor L293D untuk membuka gerbang dan bel dengan transistor BC547 NPN untuk indikasi.
Kerja
Ketika seseorang meletakkan tag RFID-nya ke pembaca RFID kemudian RFID membaca data tag tersebut dan mengirimkannya ke mikrokontroler 8051 dan kemudian mikrokontroler membandingkan data tersebut dengan data atau informasi yang ditentukan. Jika data cocok dengan data yang telah ditentukan maka mikrokontroler menaikkan kehadiran salah satu penandanya dan jika tidak dicocokkan maka mikrokontroler menampilkan kartu yang tidak valid pada LCD dan bel berbunyi bip terus menerus selama beberapa waktu.
Diagram sirkuit untuk proyek sistem absensi berbasis RFID ditunjukkan di atas. Pada rangkaian LCD dihubungkan dengan mode empat bit dengan mikrokontroler 8.051. 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.
Penjelasan Program
Untuk memprogram sistem absensi berbasis RFID, pertama-tama kita perlu menyertakan file header dan mendefinisikan pin input dan output serta variabel.
#include
Setelah ini kita perlu membuat fungsi untuk penundaan.
batal penundaan (saat ini) {int i, j; untuk (i = 0; i
Kemudian kami 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. Kami sedang 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 satu tag di atasnya. Kami menyimpan string ini dalam sebuah array dan kemudian mencocokkan dengan data array yang telah ditentukan sebelumnya.
lcdcmd (1); lcdstring ("Tempatkan Kartu Anda:"); lcdcmd (0xc0); i = 0; untuk (i = 0; i <12; i ++) rfid = rxdata (); rfid = '\ 0'; lcdcmd (1);
Jika pertandingan terjadi maka pengontrol meningkatkan kehadiran satu. Jika tidak, bel bip akan terus menyala dan LCD menunjukkan kartu yang tidak valid.
if (strncmp (rfid, "160066A5EC39", 12) == 0) {count1 ++; lcdcmd (1); lcdstring ("Kehadiran"); lcdcmd (0xc0); lcdstring ("Terdaftar"); penundaan (200); lcdcmd (1); lcdstring ("Mahasiswa1"); lcdcmd (0xc0); lcdstring ("Attnd. No.:"); sprintf (hasil, "% d", count1); lcdstring (hasil);
Tata Letak PCB
Berikut adalah layout PCB untuk Sistem Absensi berbasis RFID: