RFID adalah singkatan dari Radio Frequency Identification. Modul RFID dapat membaca atau menulis sejumlah kecil data ke dalam Tag RFID Pasif, yang dapat digunakan dalam proses identifikasi di berbagai sistem seperti sistem Absensi, sistem keamanan, sistem pemungutan suara, dll. RFID adalah teknologi yang sangat nyaman dan mudah.
Untuk membaca kartu dan tag Passive RFID, kita membutuhkan mikrokontroler dengan perangkat keras UART. Jika kita memilih mikrokontroler tanpa UART, kita perlu mengimplementasikan perangkat lunak UART. Di sini kami menggunakan Mikrokontroler PIC PIC16F877A untuk antarmuka RFID. Kami hanya akan membaca identifikasi unik no. dari tag RFID dan menampilkannya pada LCD 16x2.
Modul RFID dan Cara Kerjanya
Dalam proyek ini, kami memilih modul EM-18 RFID, yaitu modul berukuran kecil, berbiaya rendah, dan hemat daya. Modul RFID EM-18 menggunakan frekuensi RF 125 KHz untuk membaca tag RFID pasif 125 KHz. Modul EM-18 menggunakan Oscillator, demodulator dan data decoder untuk membaca data dari kartu pasif.
Tag RFID
Ada tiga jenis tag RFID yang tersedia, Pasif, Active atau Battery-assisted passive. Berbagai jenis tag RFID dengan berbagai jenis bentuk dan ukuran tersedia di pasar. Beberapa dari mereka menggunakan frekuensi yang berbeda untuk tujuan komunikasi. Kami akan menggunakan kartu RFID Pasif 125Khz yang menyimpan data ID unik. Berikut adalah kartu RFID dan tag yang kami gunakan untuk proyek ini.
Cara Kerja RFID
Jika kita melihat datasheet (http://www.alselectro.com/files/rfid-ttl-em18.pdf) Modul EM-18 kita bisa melihat bagian belakang modul dan rangkaian aplikasi:
Modul ini menggunakan protokol komunikasi UART dengan kecepatan 9600 Baud. Ketika tag frekuensi yang Valid dimasukkan ke medan magnet pembaca EM-18, transistor BC557 menyala dan bel akan mulai berbunyi bip, LED juga akan menyala. Kami menggunakan modul yang mudah didapat di pasaran dan memiliki sirkuit lengkap dengan bel, led, dan port RS232 tambahan.
Berikut adalah modul papan RFID yang kami gunakan dengan nama pin. Modul ini juga memiliki opsi daya tambahan.
Satu hal yang perlu diingat bahwa keluaran dari reader EM-18 menggunakan level logika 5V. Kita dapat menggunakan mikrokontroler lain yang menggunakan level logika yang lebih rendah, tetapi dalam kasus seperti itu, diperlukan pengonversi level logika tambahan. Dalam beberapa kasus, pin UART dari mikrokontroler 3.3V seringkali toleran 5V.
Output UART menyediakan data ASCII 12-bit. 10 bit pertama adalah nomor tag RFID, yang merupakan ID unik dan dua digit terakhir digunakan untuk pengujian kesalahan. Dua digit terakhir tersebut adalah XOR dari nomor tag. Modul EM-18 akan membaca data dari tag atau kartu RFID Pasif 125 KHz.
Tag atau ID tersebut memiliki susunan memori yang diprogram pabrik yang menyimpan nomor ID unik. Karena bersifat pasif, jadi tidak ada baterai di kartu atau tag, mereka mendapatkan energi dari medan magnet modul RF Transceiver. Tag RFID ini dibuat menggunakan IC CMOS EM4102 yang juga memiliki clock oleh medan magnet.
Material Diperlukan
Untuk membuat proyek ini kita membutuhkan item berikut-
- PIC16F877A
- Kristal 20Mhz
- 2 pcs 33pF kapasitor cakram keramik
- LCD Karakter 16x2
- Papan tempat memotong roti
- 10rb panci preset
- Resistor 4.7k
- Kabel untai tunggal untuk dihubungkan
- Adaptor 5V
- Modul RF EM-18
- 5V Buzzer
- Kapasitor 100uF &.1uF 12V
- BC557 Transistor
- LED
- Resistor 2.2k dan 470R.
Kami menggunakan papan modul EM-18 dengan bel dan led yang telah dikonfigurasi sebelumnya. Jadi, komponen yang terdaftar dari 11 hingga 15 tidak diperlukan.
Diagram Sirkuit
Skema ini sederhana; kami menghubungkan LCD melalui port RB dan menghubungkan modul EM-18 melalui pin UART Rx.
Kami telah membuat koneksi di papan tempat memotong roti sesuai dengan skema.
Penjelasan Kode
Seperti biasa, pertama kita perlu mengatur bit konfigurasi di mikrokontroler pic, menentukan beberapa makro, termasuk pustaka dan frekuensi kristal. Anda dapat memeriksa kode untuk semua yang ada di kode lengkap yang diberikan di bagian akhir.
// PIC16F877A Pengaturan Bit Konfigurasi // Pernyataan konfigurasi baris sumber 'C' // CONFIG #pragma config FOSC = HS // Bit pilihan osilator (osilator HS) #pragma config WDTE = OFF // Pengatur Waktu Pengawas Bit pengaktifan (WDT dinonaktifkan) # pragma config PWRTE = OFF // Power-up Timer Aktifkan bit (PWRT dinonaktifkan) #pragma config BOREN = ON // Brown-out Reset Aktifkan bit (BOR diaktifkan) #pragma config LVP = OFF // Tegangan Rendah (Pasokan Tunggal) In-Circuit Serial Programming Enable bit (Pin RB3 / PGM memiliki fungsi PGM; pemrograman tegangan rendah diaktifkan) #pragma config CPD = OFF // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off) #pragma config WRT = OFF // Flash Program Memory Write Enable bits (Perlindungan penulisan mati; semua memori program dapat ditulis oleh kontrol EECON) #pragma config CP = OFF // Bit Proteksi Kode Memori Program Flash (Perlindungan kode mati) # sertakan "supporing_cfile \ lcd.h" #include "supporing_cfile \ eusart1.h"
Jika kita melihat fungsi utama kita memanggil fungsi untuk menginisialisasi sistem. Kami menginisialisasi LCD dan UART dalam fungsi ini.
/ * Fungsi ini untuk inisialisasi sistem. * / batal system_init (batal) { TRISB = 0x00; // PORT B ditetapkan sebagai pin keluaran lcd_init (); // Ini akan menginisialisasi lcd EUSART1_Initialize (); // Ini akan menginisialisasi Eusart }
Sekarang, di fungsi utama , kami menggunakan array 13 bit yang merupakan Nomor RFID. Kami menerima setiap bit dari nomor RFID. menggunakan EUSART1_Read (); fungsi, yang dideklarasikan di dalam perpustakaan UART. Setelah menerima 12bits, kami mencetak Array sebagai string di LCD.
void main (void) { unsigned char count; karakter tak bertanda tangan RF_ID; system_init (); lcd_com (0x80); lcd_puts ("Circuit Digest"); while (1) { for (count = 0; count <12; count ++) { RF_ID = 0; RF_ID = EUSART1_Read (); } lcd_com (0xC0); // Setel kursor untuk baris kedua awal lcd_puts ("ID:"); lcd_puts (RF_ID); } }
Kode lengkap dengan Video Demonstrasi diberikan di bawah ini.
Periksa juga interfacing RFID dengan Mikrokontroler lain:
Antarmuka RFID dengan MSP430 Launchpad
Antarmuka RFID dengan Mikrokontroler 8051
Antarmuka RFID dengan Arduino