Rangkaian Pembaca RFID menggunakan Arduino

Coba Instrumen Kami Untuk Menghilangkan Masalah





Pada artikel ini kita akan mengikuti tur tentang teknologi sirkuit RFID. Kami akan mengeksplorasi cara kerja tag dan pembaca RFID, cara menghubungkan modul RFID (RC522) dengan Arduino dan mengekstrak beberapa informasi berguna dari tag RFID.

Menggunakan Tag RFID

Saya yakin Anda semua telah menggunakan RFID untuk mendapatkan akses keamanan setidaknya sekali di kantor, sekolah, perguruan tinggi, perpustakaan, dll.



Tag / kartu yang Anda bawa memiliki chip elektronik yang tertanam di dalamnya, chip tersebut menyimpan identitas Anda secara elektronik. Tidak seperti barcode, di mana kartu harus berhadapan dengan pembaca, RFID dapat ditempatkan di dekat alat pembaca untuk membaca informasi.

Sebagian besar kartu pintar kami menggunakan teknologi RFID pasif, yang berarti tidak ada daya yang diperlukan untuk membaca informasi dari kartu. Pembaca memberi daya pada chip RFID dan mengekstrak informasi pada saat yang bersamaan.



Jenis tag ini dapat membaca informasi dari milimeter hingga beberapa kaki, tergantung pada tag dan aplikasinya.

Tag RFID aktif didukung secara eksternal, jenis tag ini mengirimkan informasi hingga 100 kaki. Konsumsi daya baterai dioptimalkan untuk beberapa tahun terakhir.

Dalam proyek ini kita akan melihat teknologi RFID pasif. Kami menggunakan modul pembaca RC522 bersama dengan Arduino untuk mengekstraksi dan menampilkan informasi. Modul RC522 umumnya tersedia di situs web e-commerce dan toko peralatan elektronik lokal.

Ilustrasi modul pembaca / penulis RC522:

Modul pembaca / penulis RC522

Tag jenis kartu dan gantungan kunci:

Tag jenis kartu dan gantungan kunci

Seperti yang dapat kita lihat bahwa, bagian dari PCB yang dikelilingi oleh jalur konduksi berbentuk persegi pada pembaca ini akan menghasilkan medan elektromagnetik untuk tag pada frekuensi 13,56MHz.

EMF yang dihasilkan diambil oleh tag dan diubah ke voltase yang cukup untuk tag beroperasi, tag akan mengirimkan informasi yang diperlukan dalam bentuk pulsa kembali ke pembaca. Mikrokontroler on-board menerjemahkan informasi.

Bagaimana itu bekerja

Rangkaian RFID menggunakan Arduino

Skema ini sangat mudah dan cukup jelas, beberapa kabel jumper sudah cukup untuk menyelesaikan proyek ini. Kami akan memberi daya pada Arduino dan RFID melalui port USB di komputer. Tegangan operasi RC522 adalah 3,3V, jangan sambungkan suplai 5V ke modul dan akan merusak komponen on-board.

Prototipe sirkuit Arduino RFID:

Itu semua koneksi perangkat keras, sekarang mari beralih ke pengkodean.

Sebelum mengunggah program, unduh file perpustakaan dari tautan berikut dan pindah ke folder perpustakaan arduino IDE.

github.com/miguelbalboa/rfid.git

Kode Program:

//-------------------------Program developed by R.Girish------------------//
#include
#include
#define SS_PIN 10
#define RST_PIN 9
MFRC522 rfid(SS_PIN, RST_PIN)
MFRC522::MIFARE_Key key
void setup()
{
Serial.begin(9600)
SPI.begin()
rfid.PCD_Init()
}
void loop() {
if ( ! rfid.PICC_IsNewCardPresent())
return
if ( ! rfid.PICC_ReadCardSerial())
return
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak)
if(piccType != MFRC522::PICC_TYPE_MIFARE_MINI &&
piccType != MFRC522::PICC_TYPE_MIFARE_1K &&
piccType != MFRC522::PICC_TYPE_MIFARE_4K)
{
Serial.println(F('Your tag is not of type MIFARE Classic, your card/tag can't be read :('))
return
}
String StrID = ''
for (byte i = 0 i <4 i ++)
{
StrID +=
(rfid.uid.uidByte[i]<0x10? '0' : '')+
String(rfid.uid.uidByte[i],HEX)+
(i!=3?':' : '' )
}
StrID.toUpperCase()
Serial.print('Your card's UID:')
Serial.println(StrID)
rfid.PICC_HaltA ()
rfid.PCD_StopCrypto1 ()
}
//-------------------------Program developed by R.Girish------------------//

Baik! Apa program di atas dirancang untuk berfungsi?

Program di atas akan menampilkan UID dari tag di monitor serial IDE, saat Anda memindai pada pembaca. UID adalah nomor identifikasi unik dari tag tersebut, tidak dapat diubah dan ditetapkan oleh produsen.

KELUARAN:

UID kartu Anda: FA: 4E: B2 // ini adalah contoh.

Catatan 1: Kedua nilai dipisahkan oleh titik dua, yang dilakukan oleh program nilai nyata tidak boleh dipisahkan oleh titik dua melainkan oleh spasi.

Catatan 2: Hanya tag RFID yang diproduksi NXP yang dapat dibaca / ditulisi dengan pengaturan yang diusulkan, ini biasanya dan digunakan secara komersial.

UID digunakan untuk mengenali tag yang disertakan dengan kit dapat menyimpan informasi hingga 1KB. Ada kartu lain yang dapat menyimpan informasi hingga 4KB atau bahkan lebih.

Proses menyimpan dan mengekstrak informasi dari tag tunduk pada artikel lain.
Jika Anda memiliki pertanyaan, mengenai proyek ini, silakan tanyakan di bagian komentar.




Sepasang: Rangkaian Sensor Tekanan Barometrik - Detail Kerja dan Antarmuka Berikutnya: Kontrol Fase Triac menggunakan PWM Time Proportional