Cara mengecek id kartu frid arduino
Teknologi.
Assalamu’alaikum.
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)
* 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 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.
 


EmoticonEmoticon