Cara Mudah Mempogram RFID MFRC522 Dengan Arduino.
Postingan blog ini menunjukkan contoh sederhana tentang cara menggunakan pembaca RFID MFRC522.Saya akan melakukan tinjuan singkat spesifikasi dan menunjukkan contoh proyek mengggunakan arduino.
Deskripsi
RFID berarti identifikasi frekuensi radio.RFID menggunakan medan elektromagnetik untuk mentrasfer data jarak pendek.Contohnya untuk membuka pintu,mengidupkan lampu,dan lain lain.
Simulasi rangkain:
1.PIN SDA RFID ke pin digital 10 arduino.
2.PIN SCK RFID ke pin digital 13 arduino.
3.PIN MOSI RFID ke pin digital 11 arduino.
4.PIN RST RFID ke pin digital 9 arduino.
5.3,3 volt arduino ke pin 3,3volt RFID.
6.PIN MISO RFID ke pin 12 arduino.
DIAGRAM:
Membaca data dari RFID
Setelah sircuit siap,buka file > contoh> MFRC522> Dumplnfo dan unggah codenya.Code ini akan tersedia dia IDE arduino anda (setelah mengistal perpustakaan RFID).Kemudian bukaa monitor serial.Anda harus melihat sesuatu seperti dibawah ini.
kirakan kartu RFID atau gantungan kunci ke pembaca. Biarkan pembaca dan tag lebih dekat sampai semua informasi ditampilkan.
Ini adalah informasi yang dapat Anda baca dari kartu, termasuk kartu UID yang disorot dengan warna kuning. Informasi ini disimpan dalam memori yang dibagi menjadi beberapa segmen dan blok seperti yang Anda lihat pada gambar sebelumnya.
Anda memiliki 1024 byte penyimpanan data yang dibagi menjadi 16 sektor dan setiap sektor dilindungi oleh dua kunci yang berbeda, A dan B.
code:
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.
void setup()
{
Serial.begin(9600); // Initiate a serial communication
SPI.begin(); // Initiate SPI bus
mfrc522.PCD_Init(); // Initiate MFRC522
Serial.println("Approximate your card to the reader...");
Serial.println();
}
void loop()
{
// Look for new cards
if ( ! mfrc522.PICC_IsNewCardPresent())
{
return;
}
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial())
{
return;
}
//Show UID on serial monitor
Serial.print("UID tag :");
String content= "";
byte letter;
for (byte i = 0; i < mfrc522.uid.size; i++)
{
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(mfrc522.uid.uidByte[i], HEX);
content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
content.concat(String(mfrc522.uid.uidByte[i], HEX));
}
Serial.println();
Serial.print("Message : ");
content.toUpperCase();
if (content.substring(1) == "BD 31 15 2B") //change here the UID of the card/cards that you want to give access
{
Serial.println("Authorized access");
Serial.println();
delay(3000);
}
else {
Serial.println(" Access denied");
delay(3000);
}
}