تعرف على تقنية RFID وكيفية توصيلها بالأردوينو


#1

تكنولوجيا الأمواج الراديوية لتحديد الهوية RFID

سنتحدث في هذه المقالة عن تكنولوجيا حديثة وتحت التطور المستمر وهي تحديد الهوية عبر أمواج الراديو RFID.

في المستقبل القريب, لن تكون بحاجة لحمل النقود المعدنية في جيبك لتدفع أجرة الباص مثلاً, او لن يضّطر الموظفون في عيادة الجامعة لأخذ معلومات معينة منك لجلب ملفك المرضي, وحتى انك سوف تقوم بتسجيل حضورك في المحاضرة او العمل من دون أي توقيع, وكل هذا سيتم من خلال بطاقتك الشخصية الممغنطة الذكية!

كيف؟!

هذا النظام ( تكنولوجيا الأمواج الراديوية ) الحديث يتكون من دائرتين الكترونيتين, الأولى تُسمى “القارئ Reader” و الأخرى تُسمّى “الوسم Tag”.

يتم الاتصال بين هاتين الدائرتين لاسلكياً باستخدام أمواج الراديو لمسافات تتراوح بين السنتيمترات والأمتار القليلة.

القارئ يتكون من مرسل ومستقبل Transceiver و لاقط Antenna, وهذه الدائرة تحتاج مصدر تغذية لتشغيلها, أما الوسم فهو دائرة الكترونية دقيقه جداً وتحتاج طاقة قليلة جداً لتغذيتها لدرجة أنها لا تحتوي على بطارية أو مصدر تغذيه!!

ولكن كيف تعمل من دون بطارية!؟

x1

x2

عند تقريب الوسم من القارئ (لمسافة أقل من 5 سم) تتداخل الأمواج الكهرومغناطيسية من القارء مع الوسم, فيتولد تيار حثي داخل دائرة الوسم ذو طاقة قليلة جداً لكنها كافية لتشغيلها, وعندها يقوم القارئ بقراءة المعلومات المخزنة على الوسم كنت قد خزّنتها سابقاً على البطاقة.

طبعاً هناك أنواع كثيره من هذه القوارئ والأوسام وهي تختلف بكيفية تشغيلها وتردد كل منها والعديد من الخصائص.

ولكن في هذه المقاله سنقوم بشرح كيفية تجربة القارئ MFRC522 الأكثر شيوعاً وسهولة المُبيّن في الصور أعلاه, باستخدام الأردوينو .

ستحتاج الى:
-Arduino
-RFID MFRC522 Reader
-RFID 13.56MHz Tag
-Jumpers and Wires

أولاً عليك بتحميل المكتبة الجاهزة لهذا القارئ على جهازك من هنا.
http://playground.arduino.cc/Learning/MFRC522

وبعدها قم بتوصيل الأردوينو بالقارئ كما يلي:

arduino RC522

  • Reset 9 RST

  • SPI MOSI 11 MOSI

  • SPI SS 10 SDA

  • SPI SCK 13 SCK

  • SPI MISO 12 MISO

  • IOREF —- 3v3

  • 3v3 —– 3v3

وقم بعدها بتحميل هذا البرنامج على الأردوينو, هذا البرنامج سيقوم بطباعة كل المعلومات الخاصة بكل بطاقة على الـ Serial Monitor الخاص بالأردوينو.

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

#define SS_PIN 10

MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.

#define RST_PIN 9

void setup() {

Serial.begin(9600); // Initialize serial communications with the PC

SPI.begin(); // Init SPI bus

mfrc522.PCD_Init(); // Init MFRC522 card

if ( ! mfrc522.PICC_IsNewCardPresent()) {

Serial.println(“Scan PICC to see UID and type…”);

}

void loop() {

// Look for new cards

return;

}

// Dump debug info about the card. PICC_HaltA() is automatically called.

// Select one of the cards

if ( ! mfrc522.PICC_ReadCardSerial()) {

return;

}

mfrc522.PICC_DumpToSerial(&(mfrc522.uid));

}

والآن بناءاً على ما سبق من معلومات قد قمت باستخراجها من البطاقة, هل تظّن أن بامكانك القيام بنظام قفل/فتح للباب وذلك استجابة لحامل المفتاح… أقصد البطاقة الصحيحة؟