RFID bermaksud Pengenalan Frekuensi Radio. Modul RFID dapat membaca atau menulis sejumlah kecil data ke dalam tag RFID Pasif, yang dapat digunakan dalam proses pengenalan dalam pelbagai sistem seperti sistem Kehadiran, sistem keselamatan, sistem pengundian dll. RFID adalah teknologi yang sangat mudah dan mudah.
Untuk membaca kad dan tag RFID Pasif, kita memerlukan pengawal mikro dengan perkakasan UART. Sekiranya kita memilih mikrokontroler tanpa UART, kita perlu melaksanakan perisian UART. Di sini kita menggunakan PIC Microcontroller PIC16F877A untuk menghubungkan RFID. Kami hanya akan membaca nombor pengenalan unik. tag RFID dan paparkan pada LCD 16x2.
Modul RFID dan yang berfungsi
Dalam projek ini, kami memilih modul RFID EM-18, yang bersaiz kecil, kos rendah, dan modul cekap kuasa. Modul RFID EM-18 menggunakan frekuensi RF 125 KHz untuk membaca tag RFID 125 KHz pasif. Modul EM-18 menggunakan Oscillator, demodulator dan decoder data untuk membaca data dari kad pasif.
Tag RFID
Terdapat tiga jenis tag RFID yang tersedia, pasif, Pasif, Aktif atau Bantu bateri. Jenis tag RFID yang berlainan dengan pelbagai jenis bentuk dan saiz boleh didapati di pasaran. Sebilangan kecil dari mereka menggunakan frekuensi yang berbeza untuk tujuan komunikasi. Kami akan menggunakan kad RFID Pasif 125Khz yang menyimpan data ID unik. Berikut adalah kad dan tag RFID yang kami gunakan untuk projek ini.
Kerja RFID
Sekiranya kita melihat lembar data (http://www.alselectro.com/files/rfid-ttl-em18.pdf) Modul EM-18 kita dapat melihat bahagian belakang modul dan litar aplikasi:
Modul ini menggunakan protokol komunikasi UART dalam kadar Baud 9600. Apabila teg frekuensi yang sah dibawa ke medan magnet pembaca EM-18, transistor BC557 menyala dan bel akan mula berbunyi, ia juga menyala LED. Kami menggunakan modul yang mudah didapati di pasar dan mempunyai litar lengkap dengan buzzer, led, dan port RS232 tambahan.
Berikut adalah modul papan RFID yang kami gunakan dengan nama pin. Modul ini juga mempunyai pilihan kuasa tambahan.
Satu perkara perlu diingat bahawa output pembaca EM-18 menggunakan tahap logik 5V. Kita boleh menggunakan mikrokontroler lain yang menggunakan tahap logik yang lebih rendah, tetapi dalam kes seperti itu, penukar tahap logik tambahan diperlukan. Dalam beberapa kes, pin UART mikrokontroler 3.3V selalunya bertoleransi 5V.
Output UART menyediakan data ASCII 12-bit. 10 bit pertama adalah nombor tag RFID, yang merupakan ID unik dan dua digit terakhir digunakan untuk ujian ralat. Dua digit terakhir adalah XOR nombor teg. Modul EM-18 akan membaca data dari tag atau kad RFID Pasif 125 KHz.
Teg atau ID tersebut mempunyai susunan memori yang diprogramkan oleh kilang yang menyimpan nombor ID unik. Oleh kerana itu pasif, sehingga tidak ada bateri di dalam kad atau tag, mereka akan diberi tenaga oleh medan magnet modul RF Transceiver. Tanda RFID ini dibuat menggunakan IC EMOS102 EMOS yang juga mengikut medan magnet.
Bahan Diperlukan
Untuk membuat projek ini, kami memerlukan item berikut-
- PIC16F877A
- Kristal 20Mhz
- Kapasitor cakera seramik 2pcs 33pF
- LCD Aksara 16x2
- Papan roti
- Periuk pratetap 10k
- Perintang 4.7k
- Wayar helai tunggal untuk disambungkan
- Penyesuai 5V
- Modul RF EM-18
- Buzzer 5V
- Kapasitor 100uF &.1uF 12V
- Transistor BC557
- LED
- Perintang 2.2k dan 470R.
Kami menggunakan papan modul EM-18 dengan buzzer dan led yang telah dikonfigurasi sebelumnya. Jadi, komponen yang disenaraikan dari 11 hingga 15 tidak diperlukan.
Rajah Litar
Skematiknya mudah; kami menyambungkan LCD merentasi port RB dan menghubungkan modul EM-18 merentasi pin UART Rx.
Kami telah membuat sambungan pada papan roti mengikut skema.
Penjelasan Kod
Seperti biasa, pertama kita perlu menetapkan bit konfigurasi dalam mikrokontroler pic, menentukan beberapa makro, termasuk perpustakaan dan frekuensi kristal. Anda boleh menyemak kod untuk semua kod lengkap yang diberikan di akhir.
// PIC16F877A Konfigurasi Bit Tetapan // Pernyataan konfigurasi garis sumber 'C' // CONFIG #pragma config FOSC = HS // Oscillator Selection bit (HS oscillator) #pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT dilumpuhkan) # pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT dilumpuhkan) #pragma config BOREN = ON // Brown-out Reset Enable bit (BOR enabled) #pragma config LVP = OFF // Voltan Rendah (Bekalan Tunggal) In-Circuit Serial Programming Enable bit (pin RB3 / PGM mempunyai fungsi PGM; pengaturcaraan voltan rendah diaktifkan) #pragma config CPD = OFF // Data EEPROM Memory Code Protection bit (Perlindungan kod data EEPROM dimatikan) #pragma config WRT = OFF // Memori Program Flash Menulis Aktifkan bit (Perlindungan tulis mati; semua memori program mungkin ditulis oleh kawalan EECON ) #pragma config CP = OFF // Bit Perlindungan Kod Memori Program Flash (Perlindungan kod mati) # sertakan "supporing_cfile \ lcd.h" #include "supporing_cfile \ eusart1.h"
Sekiranya kita melihat fungsi utama, kita memanggil fungsi untuk menginisialisasi sistem. Kami memulakan LCD dan UART dalam fungsi ini.
/ * Fungsi ini adalah untuk inisialisasi sistem. * / void system_init (void) { TRISB = 0x00; // PORT B ditetapkan sebagai pin output lcd_init (); // Ini akan menginisialisasi lcd EUSART1_Initialize (); // Ini akan memulakan Eusart }
Sekarang, dalam fungsi utama , kami menggunakan susunan 13 bit iaitu Nombor RFID. Kami menerima setiap bit RFID No. menggunakan EUSART1_Read (); fungsi, yang dinyatakan di dalam perpustakaan UART. Setelah menerima 12 bit, kami mencetak Array sebagai rentetan di LCD.
kekosongan utama (tidak sah) { kiraan char yang tidak ditandatangani; char__ RF yang tidak ditandatangani; system_init (); lcd_com (0x80); lcd_puts ("Litar Digest"); sementara (1) { untuk (kiraan = 0; kiraan <12; hitung ++) { RF_ID = 0; RF_ID = EUSART1_Baca (); } lcd_com (0xC0); // Tetapkan kursor untuk baris kedua bermula lcd_puts ("ID:"); lcd_puts (RF_ID); } }
Kod lengkap dengan Video Demonstrasi diberikan di bawah.
Periksa juga RFID antara muka dengan Mikrokontroler lain:
RFID Interfacing dengan MSP430 Launchpad
RFID Interfacing dengan 8051 Microcontroller
RFID Berinteraksi dengan Arduino