Cara mengecek id kartu RFID arduino


Cara mengecek id kartu frid arduino
Teknologi.

Assalamu’alaikum.


Bagaimana keadaan teman-teman semua muda-mudahan selalu dalam keadaan sehat dan selalu diberi keselamatan oleh yang mahakuasa, bagi teman-teman yang kurang sehat semoga cepat sembuh supaya bisa mengerjakan pekerjaan sehari-hari seperti sedia kala amin.

Pada artikel kali ini kita akan mambahas tentang cara dasar penggunaan dari sensor RFID, menurut Wikipedia sensor RFID atau Pengenal Frekuensi Radio adalah sebuah metode identifikasi dengan menggunakan sarana yang disebut label RFID atau transponder untuk menyimpan dan mengambil data jarak jauh. Label atau kartu RFID adalah sebuah benda yang bisa dipasang atau dimasukkan di dalam sebuah produk, hewan atau bahkan manusia dengan tujuan untuk identifikasi menggunakan gelombang radio. Label RFID berisi informasi yang disimpan secara elektronik dan dapat dibaca hingga beberapa meter jauhnya. Sistem pembaca RFID tidak memerlukan kontak langsung seperti sistem pembaca kode batang (bahasa Inggris: barcode).


Nah itulah yang apa yang di maksud dengan RFID, untuk tidak memperpanjang kata mukodimah lagi mari kita langsung saja pada tutorial kali ini yaitu Cara mengecek id kartu frid arduino”.
baca juga


Bagian 1 Alat dan bahan
1.     Arduino (Beli disini)
2.     Sensor RFID (Beli disini)
3.     Papan Percobaan (Beli disini)
4.     Jummper (Beli disini)



* Ini adalah tautan afiliasi. mohon dukung kami dengan cara belanja dengan tautan yang tertera di atas, setiap kalai teman-teman belanja dengan tautan diatas itu sangat berarti bagi kami dan kami sangat menghargai setiap dukungan yang teman-teman berikan*

Bagian 2 Skema Rangkaian

Bagian 3 Coding Program
Sebelum masuk pada coding program sebaiknya kita download dulu library tambahan yaitu library RFID bisa download di sini.

#include
#include

#define SS_PIN 10
#define RST_PIN 9

MFRC522 rfid(SS_PIN, RST_PIN);
MFRC522::MIFARE_Key key;

byte nuidPICC[4];

void setup() {
  Serial.begin(9600);
  SPI.begin(); // Init SPI bus
  rfid.PCD_Init(); // Init MFRC522
  for (byte i = 0; i < 6; i++) {
    key.keyByte[i] = 0xFF;
  }

  Serial.println(F("Kode NUID RFID"));
  printHex(key.keyByte, MFRC522::MF_KEY_SIZE);
}

void loop() {
  // cek kartu RFID baru
  if ( ! rfid.PICC_IsNewCardPresent())
    return;
  // kalo sudah pernah terbaca …
  if ( ! rfid.PICC_ReadCardSerial())
    return;

  Serial.print(F("Tipe PICC : "));
  MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);
  Serial.println(rfid.PICC_GetTypeName(piccType));
  // cek PICC
  if (piccType != MFRC522::PICC_TYPE_MIFARE_MINI && 
    piccType != MFRC522::PICC_TYPE_MIFARE_1K &&
    piccType != MFRC522::PICC_TYPE_MIFARE_4K) {
    Serial.println(F("kartu Anda bukan MIFARE Classic..."));
    return;
  }

  if (rfid.uid.uidByte[0] != nuidPICC[0] ||
    rfid.uid.uidByte[1] != nuidPICC[1] ||
    rfid.uid.uidByte[2] != nuidPICC[2] ||
    rfid.uid.uidByte[3] != nuidPICC[3] ) {
    Serial.println(F("kartu RFID baru terdeteksi"));
    // Store NUID into nuidPICC array
    for (byte i = 0; i < 4; i++) {
      nuidPICC[i] = rfid.uid.uidByte[i];
    }

    Serial.println(F("The NUID tag is:"));
    Serial.print(F("In hex: "));
    printHex(rfid.uid.uidByte, rfid.uid.size);
    Serial.println();
    Serial.print(F("In dec: "));
    printDec(rfid.uid.uidByte, rfid.uid.size);
    Serial.println();
  }

  else Serial.println(F("Card read previously."));
  // Halt PICC
  rfid.PICC_HaltA();
  // Stop encryption on PCD
  rfid.PCD_StopCrypto1();
}

// print kode RFID dalam bentu heksa
void printHex(byte *buffer, byte bufferSize) {
  for (byte i = 0; i < bufferSize; i++) {
    Serial.print(buffer[i] < 0x10 ? " 0" : " ");
    Serial.print(buffer[i], HEX);
  }
}

// print kode RFID dalam bentuk desimal
void printDec(byte *buffer, byte bufferSize) {
  for (byte i = 0; i < bufferSize; i++) {
#include
#include

#define SS_PIN 10
#define RST_PIN 9

MFRC522 rfid(SS_PIN, RST_PIN);
MFRC522::MIFARE_Key key;

byte nuidPICC[4];

void setup() {
  Serial.begin(9600);
  SPI.begin(); // Init SPI bus
  rfid.PCD_Init(); // Init MFRC522
  for (byte i = 0; i < 6; i++) {
    key.keyByte[i] = 0xFF;
  }

  Serial.println(F("Kode NUID RFID"));
  printHex(key.keyByte, MFRC522::MF_KEY_SIZE);
}

void loop() {
  // cek kartu RFID baru
  if ( ! rfid.PICC_IsNewCardPresent())
    return;
  // kalo sudah pernah terbaca …
  if ( ! rfid.PICC_ReadCardSerial())
    return;

  Serial.print(F("Tipe PICC : "));
  MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);
  Serial.println(rfid.PICC_GetTypeName(piccType));
  // cek PICC
  if (piccType != MFRC522::PICC_TYPE_MIFARE_MINI && 
    piccType != MFRC522::PICC_TYPE_MIFARE_1K &&
    piccType != MFRC522::PICC_TYPE_MIFARE_4K) {
    Serial.println(F("kartu Anda bukan MIFARE Classic..."));
    return;
  }

  if (rfid.uid.uidByte[0] != nuidPICC[0] ||
    rfid.uid.uidByte[1] != nuidPICC[1] ||
    rfid.uid.uidByte[2] != nuidPICC[2] ||
    rfid.uid.uidByte[3] != nuidPICC[3] ) {
    Serial.println(F("kartu RFID baru terdeteksi"));
    // Store NUID into nuidPICC array
    for (byte i = 0; i < 4; i++) {
      nuidPICC[i] = rfid.uid.uidByte[i];
    }

    Serial.println(F("The NUID tag is:"));
    Serial.print(F("In hex: "));
    printHex(rfid.uid.uidByte, rfid.uid.size);
    Serial.println();
    Serial.print(F("In dec: "));
    printDec(rfid.uid.uidByte, rfid.uid.size);
    Serial.println();
  }

  else Serial.println(F("Card read previously."));
  // Halt PICC
  rfid.PICC_HaltA();
  // Stop encryption on PCD
  rfid.PCD_StopCrypto1();
}

// print kode RFID dalam bentu heksa
void printHex(byte *buffer, byte bufferSize) {
  for (byte i = 0; i < bufferSize; i++) {
    Serial.print(buffer[i] < 0x10 ? " 0" : " ");
    Serial.print(buffer[i], HEX);
  }
}

// print kode RFID dalam bentuk desimal
void printDec(byte *buffer, byte bufferSize) {
  for (byte i = 0; i < bufferSize; i++) {
    Serial.print(buffer[i] < 0x10 ? " 0" : " ");
    Serial.print(buffer[i], DEC);
  Serial.print(buffer[i] < 0x10 ? " 0" : " ");
}
}

Nah setelah teman-teman mengcopy coding di atas dan mengupload ke arduino maka kita tinggal melihat ID RFID pada serial monitor. Semoga artikel kali ini bermanfaat untuk kita semua seperti biasa saya akhiri dengan salam teknologi dan wasalam.


**Terimasih telah berkunjung semoga dapat menambah wawasan kita bersama, untuk dukungan teman-teman bisa berdonasi pada link berikut (Klik Dini) Sebanyak apapun donasi dari teman-teman itu sangat berarti bagi kami dan juga kalau ada dari teman-teman yang ingin mengajukan pertanyaan atau request tema seputar teknologi bisa langsung saja tulis pada kolom pesan di link donasi yang sudah ter sedia.**


EmoticonEmoticon