Pertemuan ke 8: Pengenalan Teknologi Smart Card

Topik Bahasan

Proyek Dasar Mikrokontroller (Jenis Electronics Development Board dan Bahasa Pemrograman Microcontroller, Pengenalan & Jenis Komunikasi Data, Pengenalan Teknologi Smart card, Praktik Dasar Elektronika)

Deskripsi

  • Memahami berbagai jenis Electronics Development Board seperti: Arduino Uno/Nano, ATMega Series, STM32, ESP8266, ESP32, Raspi Pi Pico, Raspberry Pi, dan Jetson Nano
  • Memahami jenis komunikasi data, baik data wired maupun wireless seperti: Komunikasi Serial, I2C, SPI, WiFi, Bluetooth / BLE, LoRa, ZigBee, Seluler (2G - 5G), NFC, dan NB-IoT.
  • Memahami konsep dan teknologi smart card seperti Mifare, Desfire, Javacard dan protokol komunikasi smart car(APDU).
  • Mampu menggunakan solder/desolder dengan benar, mampu mensimulasikan dan merancang rangkaian listrik (fritzing/wokwi), Mampu menerapkan dasar pemrograman Arduino.

Teori Singkat

Reader RC522 adalah modul RFID (Radio Frequency Identification) yang menggunakan teknologi komunikasi NFC (Near Field Communication). Modul ini umum digunakan untuk membaca dan menulis data pada kartu atau tag RFID yang beroperasi pada frekuensi 13.56 MHz. Berikut adalah deskripsi singkat dan cara kerjanya:

img.png

Deskripsi RC522

  1. Komponen:

    • Antena: Untuk mengirim dan menerima sinyal radio ke/dari tag RFID.
    • Mikrokontroler: Untuk mengelola komunikasi dan pengolahan data.
    • Komunikasi SPI: Untuk berinteraksi dengan mikrokontroler atau komputer.
    • Memori EEPROM: Untuk menyimpan pengaturan dan data.
  2. Fitur:

    • Frekuensi Operasi: 13.56 MHz.
    • Protokol Komunikasi: SPI (Serial Peripheral Interface), I2C, atau UART.
    • Jarak Pembacaan: Sekitar 2-5 cm tergantung pada antena dan tag.
    • Daya Rendah: Efisien dalam penggunaan daya, cocok untuk aplikasi embedded.
  3. Aplikasi:

    • Kontrol Akses: Penggunaan di sistem keamanan untuk membuka pintu atau akses ke area tertentu.
    • Pembayaran Elektronik: Digunakan dalam kartu pembayaran nirsentuh.
    • Identifikasi: Digunakan dalam sistem identifikasi otomatis untuk pelacakan aset atau kehadiran.

Cara Kerja RC522

  1. Inisialisasi:

    • Menginisialisasi modul RC522 dan mengatur parameter komunikasi (seperti frekuensi dan mode operasi) menggunakan mikrokontroler atau komputer melalui antarmuka SPI.
  2. Mengirimkan Sinyal Radio:

    • Modul mengirimkan sinyal radio pada frekuensi 13.56 MHz. Kartu atau tag RFID yang berada dalam jangkauan akan menerima sinyal ini dan mengirimkan kembali responsnya.
  3. Pembacaan Data:

    • Modul RC522 menerima sinyal balik dari tag RFID, memproses sinyal tersebut, dan mengirimkan data yang diperoleh ke mikrokontroler atau komputer melalui antarmuka SPI.
  4. Penulisan Data:

    • Jika diperlukan, modul RC522 juga dapat menulis data ke tag RFID yang kompatibel. Proses ini melibatkan pengiriman sinyal yang berisi data yang ingin ditulis.

Praktikum

Kebutuhan perangkat

Adapun untuk melakukan percobaan ini dibutuhkan beberapa perangkat seperti

Fritzing

Untuk konfigurasi pengkabelan dapat dilihat pada gambar di bawah ini

Tabel skematik

Untuk lebih jelaskan dapat dilihat pada tabel di bawah ini

ESP8266 Amica RFID-RC522
D2 SDA
D5 SCK
D7 MOSI
D6 MISO
IRQ
GND GND
D3 RST
3V3 3.3V

Kode program

#include <Arduino.h>
#include <SPI.h>
#include <MFRC522.h>

#define SS_PIN 4  //D2
#define RST_PIN 5 //D1

MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.
int statuss = 0;
int out = 0;

void dump_byte_array(byte *buffer, byte bufferSize);

void setup()
{
  Serial.begin(115200); // Initiate a serial communication
  SPI.begin();          // Initiate  SPI bus
  mfrc522.PCD_Init();   // Initiate MFRC522
}

void loop()
{
  Serial.println("Waiting card...");
  // Look for new cards
  if (!mfrc522.PICC_IsNewCardPresent())
  {
    delay(50);
    return;
  }
  // Select one of the cards
  if (!mfrc522.PICC_ReadCardSerial())
  {
    delay(50);
    return;
  }
  // Show some details of the PICC (that is: the tag/card)
  Serial.print(F("Card UID:"));
  dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
  Serial.println();
}

// Helper routine to dump a byte array as hex values to Serial
void dump_byte_array(byte *buffer, byte bufferSize)
{
  for (byte i = 0; i < bufferSize; i++)
  {
    Serial.print(buffer[i] < 0x10 ? " 0" : " ");
    Serial.print(buffer[i], HEX);
  }
}

Tugas Mandiri

Silakan mencari kode program untuk membaca sebuah UID pada tag RFID, kemudian jika membutuhkan sebuah pustaka sebutkan pustaka yang dibutuhkan serta lengkap dengan referensi yang Anda gunakan.

hasil yang cocok ""

    Tidak ada hasil yang cocok ""