كيفية استخدام وحدة RC522 RFID مع Arduino

How to Use the RC522 RFID Module with Arduino

RC522 هي وحدة RFID شهيرة تستخدم للاتصال اللاسلكي وتحديد الهوية. يتم استخدامه على نطاق واسع في أنظمة التحكم في الوصول وأنظمة الدفع بدون اتصال وتتبع المخزون. سوف يرشدك هذا البرنامج التعليمي من خلال تواصل وحدة RC522 RFID مع Arduino لقراءة علامات وبطاقات RFID.


ماذا ستحتاج

  1. وحدة RC522 RFID
  2. لوحة Arduino (على سبيل المثال ، UNO ، Mega ، Nano)
  3. علامات أو بطاقات RFID (13.56 MHz)
  4. الأسلاك الأسلاك والبلوز
  5. جهاز كمبيوتر مع Arduino IDE مثبت

الخطوة 1: فهم وحدة RC522 RFID

تعمل وحدة RC522 RFID عند 13.56 MHz وتتواصل مع متحكم باستخدام بروتوكول SPI. يأتي مع هوائي RFID ويدعم كل من عمليات القراءة والكتابة.

RC522 Pinout

دبوس وظيفة
SDA spi ss (Slave Select)
SCK SPI Clock
موسي إدخال بيانات SPI
ميسو إخراج بيانات SPI
IRQ طلب المقاطعة (اختياري)
GND أرضي
RST إعادة ضبط
3.3V مزود الطاقة

ملحوظة: يعمل RC522 على منطق 3.3V ؛ تأكد من مطابقة اتصالاتك متطلبات الجهد.


الخطوة 2: توصيل RC522 إلى Arduino

إليك كيفية توصيل وحدة RC522 RFID بوحدة Arduino Uno:

RC522 دبوس دبوس أردوينو
SDA دبوس 10
SCK دبوس 13
موسي دبوس 11
ميسو دبوس 12
IRQ غير متصل
GND GND
RST دبوس 9
3.3V 3.3V

ملحوظة: بالنسبة للوحات Arduino الأخرى ، تأكد من قيامك بتخطيط دبابيس SPI بشكل صحيح.


الخطوة 3: تثبيت المكتبة المطلوبة

للعمل مع وحدة RC522 ، قم بتثبيت مكتبة "MFRC522".

خطوات التثبيت:

  1. افتح Arduino IDE.
  2. اذهب إلى رسم > تشمل المكتبة > إدارة المكتبات.
  3. ابحث عن "MFRC522" وانقر فوق ثَبَّتَ.

الخطوة 4: تحميل الرمز

إليك مثال على مثال لقراءة بيانات علامة RFID:

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

#define RST_PIN 9  // Reset pin
#define SS_PIN 10  // Slave select pin

MFRC522 rfid(SS_PIN, RST_PIN); // Create an instance of the MFRC522 library

void setup() {
  Serial.begin(9600);
  while (!Serial);

  SPI.begin();      // Initialize SPI bus
  rfid.PCD_Init();  // Initialize RFID reader

  Serial.println("RC522 RFID Reader Initialized");
}

void loop() {
  // Check for a new card
  if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial()) {
    return;
  }

  Serial.println("Card detected:");

  // Print the UID of the card
  Serial.print("UID: ");
  for (byte i = 0; i < rfid.uid.size; i++) {
    Serial.print(rfid.uid.uidByte[i] < 0x10 ? " 0" : " ");
    Serial.print(rfid.uid.uidByte[i], HEX);
  }
  Serial.println();

  rfid.PICC_HaltA(); // Halt the card
}

الخطوة 5: اختبار الإعداد

  1. قم بتوصيل Arduino بجهاز الكمبيوتر الخاص بك عبر USB.
  2. افتح Arduino IDE وحدد الصحيح سبورة و ميناء تحت أدوات قائمة طعام.
  3. قم بتحميل الرمز إلى Arduino بالنقر فوق رفع.
  4. افتح الشاشة التسلسلية (أدوات > المراقبة التسلسلية) وتعيين معدل باود 9600.
  5. ضع علامة أو بطاقة RFID بالقرب من الوحدة النمطية. سيتم عرض UID من البطاقة في الشاشة التسلسلية.

اختياري: كتابة البيانات إلى علامة RFID

لكتابة البيانات إلى علامة RFID ، يمكنك استخدام PICC_Write وظيفة في مكتبة MFRC522. ارجع إلى أمثلة المكتبة لعمليات الكتابة التفصيلية.


تطبيقات RC522

  1. أنظمة التحكم في الوصول
  2. أنظمة الدفع بدون اتصال
  3. تتبع المخزون وإدارته
  4. أنظمة الحضور الذكية

استكشاف الأخطاء وإصلاحها

  • لا استجابة من الوحدة: تحقق من الأسلاك وتأكد من صحة اتصالات SPI.
  • لم يتم اكتشاف uid: تأكد من أن العلامة ضمن نطاق هوائي RFID.
  • أخطاء المكتبة: تحقق من تثبيت مكتبة MFRC522 بشكل صحيح.

خاتمة

لقد نجحت في ربط وحدة RC522 RFID مع Arduino ، مما يتيح لك قراءة بيانات علامة RFID. هذه الوحدة متعددة الاستخدامات مثالية للمشاريع التي تتطلب التواصل اللاسلكي وتحديد الهوية. قم بتجربة ميزات إضافية مثل كتابة البيانات إلى العلامات أو دمجها في أنظمة أكبر للتطبيقات المتقدمة!

اترك تعليقًا

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.