جدول المحتويات:

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

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

فيديو: كيفية استخدام وحدة RFID-RC522 مع Arduino: 5 خطوات
فيديو: ☑️ RFID أردوينو للمبتدئين - فهم واستخدام جهاز ال 2024, شهر نوفمبر
Anonim
كيفية استخدام وحدة RFID-RC522 مع Arduino
كيفية استخدام وحدة RFID-RC522 مع Arduino

في هذا Instructable ، سأقدم شرحًا تفصيليًا لمبدأ العمل الأساسي لوحدة RFID إلى جانب العلامات والرقائق الخاصة بها. سأقدم أيضًا مثالًا موجزًا لمشروع قمت به باستخدام وحدة RFID هذه مع RGB LED. كالعادة مع Instructables الخاص بي ، سأقدم نظرة عامة موجزة في الخطوات القليلة الأولى وسأترك شرحًا شاملاً ومفصلاً في الخطوة الأخيرة لأولئك المهتمين.

اللوازم:

RC522 RFID Module + بطاقة التعريف والبطاقة - https://www.amazon.com/SunFounder-Mifare-Reader-Ar …

RGB LED + ثلاثة مقاومات 220 أوم

الخطوة 1: توصيلات الأجهزة

اتصالات الأجهزة
اتصالات الأجهزة

في هذا المشروع ، استخدمت Arduino Mega ، لكن يمكنك استخدام أي متحكم تريده نظرًا لأن هذا مشروع منخفض الموارد نسبيًا ، الشيء الوحيد الذي سيكون مختلفًا هو توصيلات الدبوس لـ SCK و SDA و MOSI و MISO و RST لأنها مختلفة في كل لوحة. إذا كنت لا تستخدم Mega ، فارجع إلى الجزء العلوي من هذا البرنامج النصي الذي سنستخدمه قريبًا: https://github.com/miguelbalboa/rfid/blob/master/e …

RFID:

SDA (أبيض) - 53

SCK (برتقالي) - 52

موسي (أصفر) - 51

ميسو (أخضر) - 50

RST (أزرق) - 5

3.3 فولت - 3.3 فولت

GND - GND

(ملاحظة: على الرغم من أن القارئ يحتاج بشدة إلى 3.3 فولت ، فإن المسامير تتحمل 5 فولت ، مما يسمح لنا باستخدام هذه الوحدة مع Arduinos وأجهزة التحكم الدقيقة 5V DIO الأخرى)

RGB LED:

الكاثود الأحمر (أرجواني) - 8

GND - GND

الكاثود الأخضر (أخضر) - 9

الكاثود الأزرق (أزرق) - 10

الخطوة 2: البرمجيات

برمجة
برمجة

الآن على البرنامج.

أولاً ، نحتاج إلى تثبيت مكتبة MFRC522 حتى نتمكن من الحصول على بيانات RFID وكتابتها ومعالجتها. رابط github هو: https://github.com/miguelbalboa/rfid ، ولكن يمكنك أيضًا تثبيته عبر مدير المكتبة في Arduino IDE أو PlatformIO. قبل أن نتمكن من إنشاء برنامجنا المخصص للتعامل مع بيانات RFID ومعالجتها ، نحتاج أولاً إلى الحصول على UID الفعلي لبطاقتنا وعلامتنا. لذلك ، نحتاج إلى تحميل هذا الرسم التخطيطي:

(Arduino IDE: أمثلة> MFRC522> DumpInfo)

(PlatformIO: صفحة PIO الرئيسية> مكتبات> مثبتة> MFRC522> أمثلة> DumpInfo)

ما يفعله هذا الرسم هو في الأساس استخراج جميع المعلومات الموجودة في البطاقة ، بما في ذلك UID في شكل سداسي عشري. على سبيل المثال ، المعرف الفريد لبطاقتي هو 0x72 0x7D 0xF5 0x1D (انظر الصورة). باقي بنية البيانات المطبوعة هي المعلومات الموجودة في البطاقة والتي يمكننا قراءتها أو الكتابة إليها. سوف أتعمق أكثر في القسم الأخير.

الخطوة 3: البرمجيات (2)

برامج (2)
برامج (2)

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

github.com/belsh/RFID_MEGA/blob/master/mfr….

الخطوة 4: RFID ؛ شرح

RFID. شرح
RFID. شرح

يوجد في القارئ وحدة تردد الراديو وهوائي يولد مجالًا كهرومغناطيسيًا. من ناحية أخرى ، تحتوي البطاقة على شريحة يمكنها تخزين المعلومات والسماح لنا بتعديلها عن طريق الكتابة إلى إحدى كتلها العديدة ، والتي سأدخلها في مزيد من التفاصيل في القسم التالي لأنها تندرج تحت هيكل بيانات RFID.

مبدأ عمل اتصالات RFID واضح ومباشر. هوائي القارئ (في حالتنا ، الهوائي الموجود على RC522 هو هيكل مدمج يشبه الملف على الوجه) والذي سيرسل موجات راديو ، والتي بدورها ستنشط ملفًا في البطاقة / العلامة (على مسافة قريبة) وذلك سيتم استخدام الكهرباء المحولة بواسطة جهاز الإرسال والاستقبال (الجهاز الذي يستقبل إشارات التردد اللاسلكي ويبعثها) داخل البطاقة لإعادة إرسال المعلومات المخزنة بداخلها في شكل المزيد من موجات الراديو. يُعرف هذا باسم التشتت الخلفي. في القسم التالي ، سأناقش بنية البيانات المحددة التي تستخدمها البطاقة / العلامة لتخزين المعلومات التي يمكننا قراءتها أو الكتابة إليها.

الخطوة 5: RFID ؛ شرح (2)

RFID. شرح (2)
RFID. شرح (2)

إذا نظرت إلى الجزء العلوي من إخراج البرنامج النصي الذي تم تحميله مسبقًا ، ستلاحظ أن نوع البطاقة هو PICC 1 كيلوبايت ، مما يعني أن بها 1 كيلوبايت من الذاكرة. يتم تخصيص هذه الذاكرة في بنية بيانات مكونة من 16 قطاعًا تحمل 4 كتل ، كل منها يحمل 16 بايت من البيانات (16 × 4 × 16 = 1024 = 1 كيلوبايت). سيتم حجز الكتلة الأخيرة في كل قطاع (AKA Sector Trailer) لمنح حق الوصول للقراءة / الكتابة لبقية القطاع ، مما يعني أن لدينا الكتل الثلاثة الأولى فقط للعمل معها من حيث تخزين البيانات وقراءتها.

(ملاحظة: تُعرف الكتلة الأولى من القطاع 0 باسم كتلة الشركة المصنعة وتحتوي على معلومات حيوية مثل بيانات الشركة المصنعة ؛ قد يؤدي تغيير هذه الكتلة إلى قفل بطاقتك تمامًا ، لذا كن حذرًا عند محاولة كتابة البيانات إليها)

ترقيع سعيد.

موصى به: