Pernahkah Anda bertanya-tanya bagaimana sistem antipencurian
di supermarket bekerja? Atau bagaimana cara kerja sistem pembayaran tol
otomatis seperti fast tag? Semua jawaban atas keraguan Anda adalah RFID atau
Radio Frequency Identification. Seperti namanya, RFID menggunakan gelombang
elektromagnetik dalam spektrum frekuensi radio untuk komunikasi dan transfer
data. Tag RFID digunakan di banyak industri dan Anda dapat menemukannya di tag
produk dari toko hingga kartu akses keamanan. Tag RFID dapat mempercepat
pembayaran dan dapat digunakan untuk tindakan antipencurian. Mereka juga dapat
digunakan untuk mengidentifikasi ternak, produk, dll. Dalam tutorial ini, kita
akan mempelajari bagaimana kita dapat menggunakan teknologi RFID dengan
Arduino. Kita akan belajar bagaimana menghubungkan pembaca RFID RC522 dengan
Arduino.
RC522
RFID Reader/Writer Module Pinout
Modul RC522 memiliki total 8 pin. Modul ini mendukung
berbagai protokol komunikasi dan setiap pin memiliki fungsi yang berbeda untuk
setiap protokol komunikasi. Pinout modul RFID Reader adalah sebagai berikut:
How
is the RFID Works?
Sistem RFID terdiri dari dua komponen: pembaca RFID dan tag.
Mereka juga disebut PCD (Proximity Coupling Device) dan PICC (Proximity Integrated
Circuit Card).
Pembaca RFID terdiri dari antena untuk memancarkan gelombang
EM frekuensi tinggi dan pembaca/penulis. MFRC522 dari NXP adalah contoh sirkuit
terintegrasi semacam itu. Karena kami menggunakan gelombang frekuensi tinggi
dalam kisaran megahertz, ukuran antena bisa jadi kecil.

Tag RFID dapat berupa pasif atau aktif. Tag aktif ditenagai
oleh baterai sedangkan tag RFID pasif ditenagai oleh energi dari gelombang EM
interogasi pembaca. Tag tersedia dalam berbagai bentuk atau bentuk seperti kartu,
tag, gantungan kunci, atau stiker. Apapun bentuknya, tag RFID akan terdiri dari
antena dan chip RFID yang akan menyimpan semua data. Saat dipicu oleh pulsa
interogasi elektromagnetik dari pembaca RFID terdekat, tag akan mengirimkan
data kembali ke pembaca. Pembaca kemudian akan menganalisis data ini untuk
mengidentifikasi tag. Tidak seperti barcode atau kode QR, tag tidak harus
berada dalam jarak pandang pembaca. Ini membuatnya lebih mudah untuk diproses
dan dapat digunakan untuk melacak objek di ruang tertutup.
Arduino
RC522 RFID Reader Interfacing Circuit Diagram
Untuk menghubungkan modul RFID RC522 dengan Arduino, kita
akan menggunakan antarmuka SPI. Ikuti diagram sirkuit dan buat koneksi sesuai
itu.
Pin VCC dan GND modul masing-masing terhubung ke pin 3.3V
dan GND Arduino. Pin Reset terhubung ke pin D9 dan SS, MOSI, MISO, dan SCK
masing-masing terhubung ke pin D10, D11, D12, dan D13 dari Arduino. Pin SS dan
RST dapat dikonfigurasi dan dapat dihubungkan ke pin digital lainnya di
Arduino.
Arduino
RC522 RFID Module Code
Saat koneksi dibuat, mari kita lihat bagian pengkodean.
Untuk itu, kita akan menggunakan Perpustakaan Arduino MFRC522 oleh Miguel André
Balboa. Karena Library tidak tersedia di pengelola Library Arduino, unduh dari
repositori MFRC522 GitHub dan pasang di folder Library Arduino. Anda dapat
menginstalnya baik melalui Arduino IDE, dengan masuk ke Sketch -> Include
Library -> Add ZIP Library dan memilih file .ZIP yang diunduh, atau hanya
dengan mengekstrak file Zip ke dalam folder library Arduino.
Setelah Library diinstal, kami dapat menguji pengaturan kami
dengan kode contoh. Untuk itu, buka contoh DumpInfo dari Library MFRC522. Ini
contoh kodenya.
#include
<SPI.h>
#include
<MFRC522.h>
#define
RST_PIN 9 // Configurable, see typical pin
layout above
#define
SS_PIN 10 // Configurable, see typical pin
layout above
MFRC522
mfrc522(SS_PIN, RST_PIN); // Create
MFRC522 instance
void
setup() {
Serial.begin(115200); // Initialize serial
communications with the PC
while
(!Serial); // Do
nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)
SPI.begin(); // Init SPI bus
mfrc522.PCD_Init(); // Init MFRC522
delay(4); //
Optional delay. Some board do need more time after init to be ready, see Readme
mfrc522.PCD_DumpVersionToSerial();
// Show details of PCD - MFRC522 Card Reader details
Serial.println(F("Scan PICC to
see UID, SAK, type, and data blocks..."));
}
void
loop() {
// Reset the loop if no new card
present on the sensor/reader. This saves the entire process when idle.
if ( ! mfrc522.PICC_IsNewCardPresent())
{
return;
}
// Select one of the cards
if ( !
mfrc522.PICC_ReadCardSerial()) {
return;
}
// Dump debug info about the card;
PICC_HaltA() is automatically called
mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
}
Setelah dikompilasi dan diunggah ke Arduino, buka monitor
serial dan tunjukkan tag apa pun di dekat modul RC522. Ketika tag berada di
sekitarnya, reader akan membaca semua data dari tag tersebut dan akan
membuangnya ke monitor serial seperti yang ditunjukkan di bawah ini.
Dump data akan berisi semua detail seperti Card UID, Card
SAK, tipe PICC, dan semua peta memori. UID atau ID Unik adalah Unik untuk
setiap tag seperti namanya. Jika Anda mendapatkan kesalahan gagal komunikasi,
itu karena baud rate serial kami terlalu lambat. Tingkatkan baud rate ke 115200
dalam kode dan itu akan menyelesaikan masalah. Di sini, di data dump, kita
dapat melihat bahwa tipe PICC adalah MIFARE 1KB. Itu berarti tag berisi chip
MIFARE dengan memori 1KB.