Code for RFID card reading:


#include 'SPI.h'
#include 'MFRC522.h'

#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);   // إنشاء مثيل للمكتبة

void setup() {
  Serial.begin(9600);     // بدء الاتصال التسلسلي
  SPI.begin();            // بدء واجهة SPI
  mfrc522.PCD_Init();     // تهيئة MFRC522
  Serial.println("اقرب بطاقتك من القارئ...");
  Serial.println();
}

void loop() {
  // التحقق من وجود بطاقة جديدة
  if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) {
    // عرض الـ UID مرة واحدة
    Serial.print("UID tag :");
    for (byte i = 0; i < mfrc522.uid.size; i++) {
      Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
      Serial.print(mfrc522.uid.uidByte[i], HEX);
    }
    Serial.println();

    // إيقاف التواصل مع البطاقة
    mfrc522.PICC_HaltA();
    mfrc522.PCD_StopCrypto1();

    // الانتظار حتى تتم إزالة البطاقة من نطاق القارئ
    while (mfrc522.PICC_IsNewCardPresent()) {
      delay(50);
    }
  }
}