RC522 هي وحدة RFID شهيرة تستخدم للاتصال اللاسلكي وتحديد الهوية. يتم استخدامه على نطاق واسع في أنظمة التحكم في الوصول وأنظمة الدفع بدون اتصال وتتبع المخزون. سوف يرشدك هذا البرنامج التعليمي من خلال تواصل وحدة RC522 RFID مع Arduino لقراءة علامات وبطاقات RFID.
ماذا ستحتاج
- وحدة RC522 RFID
- لوحة Arduino (على سبيل المثال ، UNO ، Mega ، Nano)
- علامات أو بطاقات RFID (13.56 MHz)
- الأسلاك الأسلاك والبلوز
- جهاز كمبيوتر مع 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".
خطوات التثبيت:
- افتح Arduino IDE.
- اذهب إلى رسم > تشمل المكتبة > إدارة المكتبات.
- ابحث عن "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: اختبار الإعداد
- قم بتوصيل Arduino بجهاز الكمبيوتر الخاص بك عبر USB.
- افتح Arduino IDE وحدد الصحيح سبورة و ميناء تحت أدوات قائمة طعام.
- قم بتحميل الرمز إلى Arduino بالنقر فوق رفع.
- افتح الشاشة التسلسلية (أدوات > المراقبة التسلسلية) وتعيين معدل باود
9600
. - ضع علامة أو بطاقة RFID بالقرب من الوحدة النمطية. سيتم عرض UID من البطاقة في الشاشة التسلسلية.
اختياري: كتابة البيانات إلى علامة RFID
لكتابة البيانات إلى علامة RFID ، يمكنك استخدام PICC_Write
وظيفة في مكتبة MFRC522. ارجع إلى أمثلة المكتبة لعمليات الكتابة التفصيلية.
تطبيقات RC522
- أنظمة التحكم في الوصول
- أنظمة الدفع بدون اتصال
- تتبع المخزون وإدارته
- أنظمة الحضور الذكية
استكشاف الأخطاء وإصلاحها
- لا استجابة من الوحدة: تحقق من الأسلاك وتأكد من صحة اتصالات SPI.
- لم يتم اكتشاف uid: تأكد من أن العلامة ضمن نطاق هوائي RFID.
- أخطاء المكتبة: تحقق من تثبيت مكتبة MFRC522 بشكل صحيح.
خاتمة
لقد نجحت في ربط وحدة RC522 RFID مع Arduino ، مما يتيح لك قراءة بيانات علامة RFID. هذه الوحدة متعددة الاستخدامات مثالية للمشاريع التي تتطلب التواصل اللاسلكي وتحديد الهوية. قم بتجربة ميزات إضافية مثل كتابة البيانات إلى العلامات أو دمجها في أنظمة أكبر للتطبيقات المتقدمة!