CV. ZENTRONIC - Perusahaan Jasa Listrik dan Elektronika

Kamis, 08 Juni 2023

Komunikasi RFID Reader dengan Arduino


 

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.

 

 

Tidak ada komentar:

Posting Komentar

Arduino – LM35 Temperature Sensor

  Sensor Suhu seri LM35 adalah perangkat suhu sirkuit terpadu presisi dengan tegangan keluaran yang berbanding lurus dengan suhu Celcius. ...