RFID-Sensor

آموزش ماژول RFID MRFC522 در آردوینو

در این پست به معرفی تکنولوژی RFID و همچنین آموزش راه‌اندازی ماژول MRFC522 خواهیم پرداخت. در ادامه با مرکز تخصصی آردوینو ،  دیجی اسپارک همراه باشید.

RFID چیست؟

RFID مخفف سه کلمه Radio Frequency Identification به معنای شناسایی به کمک امواج رادیویی است. RFID با استفاده از ارتباطات مبتنی بر فرکانس های رادیویی امکان شناسایی خودکار ، ردیابی و مدیریت اشیاء ، انسان و حیوانات را فراهم می نماید . عملکرد RFID وابسته به دو دستگاه تگ و  کدخوان است که جهت برقراری ارتباط بین یکدیگر از امواج رادیویی استفاده می نمایند.     اصولاً سامانه های RFID از سیگنالهای الکترونیکی و الکترو مغاطیسی برای خواندن و نوشتن داده ها بدون تماس بهره گیری می کنند. Tag ها وسیله شناسایی متصل شده به کالایی است که ما می خواهیم آن را رد یابی کنیم و دستگاههای خواننده (Reader ) وسایلی هستند که حضور برچسب ها را در محیط تشخیص داده و اطلاعات ذخیره شده در آن ها را بازیابی می کنند.سیستم‌های RFID  ،در بسیاری از ساختمان‌های اداری به منظور تردد کارکنان و حضور و غیاب آ‌ن‌ها ، در کنترل تردد خودروها ، کنترل موجودی انبار ، در فروشگاه‌های زنجیره‌ای به منظور فروش اجناس ( همانند دو فروشگاه وال مارت و مک دونالد) و  . . . کاربرد دارد.

چکونگی عمل‌کرد سیستم‌هایRFID

سیستم RFID شامل برچسب یا tag ( تراشه (chip)  و آنتن ) و یک reader می‌باشد. این سیستم به گونه‌ای است که reader امواجی الکترومغناطیسی را ارسال می‌کند و زمانی که tag  امواج را دریافت می‌کند ، به آن‌ها پاسخ می‌دهد و اطلاعات به سمت reader ارسال می‌کند.

آموزش RFID Arduino

 

 

 

تگ RFID چیست و وظیقه‌ی اصلی آن چیست

وظیفه اولیه‌ی یک تگ ذخیره اطلاعات و ارسال آن به Reader می‌باشد .در ساده ترین حالت ممکن ، یک تگ RFID  شامل یک چیپ و یک آنتن می‌باشد که در یک بسته در کنار یکدیگر قرار می‌گیرند.برچسب‌های RFID هر کدام دارای یک کد منحصربه‌فرد می‌باشند بطوریکه هیچ دو برچسبی در دنیا تولید نخواهد شد که کد یا ID یکسانی داشته باشند و کلیهٔ تولید کنندگان Tag تحت نظر انجمن بین‌المللی مبادرت به ثبت آنها می‌نمایند.

چیپ: جنس چیپ معمولا از سیلیکون می‌باشد و اطلاعاتی از محصول یا شی که بر روی آن تگ RFID منصل شده است وجود دارد. چیپ‌ها دارای دو نوع   حافظه فقط خواندنی و یا خواندنی نوشتی به منظور ذخیره و بازیابی  اطلاعات می‌باشند.

آنتن : آنتن به چیپ متصل می‌باشد که یک فرستنده گیرنده رادیویی را ایجاد می‌کند و وظیفه آن انتقال اطلاعات بین تگ و Reader ( دستگاه خواننده RFID ) را بر عهده دارد.

نمایی از تگ RFID
نمایی از تگ RFID

 

 

 

انواع تگ RFID

تگ‌های غیرقعال :

تگ‌های غیر فعّال، باتری ندارند و انرژی لازم برای فعال سازی چیپ درونی و ارسال اطلاعات خود را از سیگنالی که از آنتن Reader دریافت می‌دارند، تأمین می‌کنند. بدین ترتیب که ابتدا Reader امواجی را به سمت تگ ارسال می‌دارد، سپس چیپ امواجی را که باید برگشت داده شوند ، تنظیم و توسط آنتن خودش برای Reader ارسال می‌کند و Reader ، امواج دریافتی را به داده‌های رقمی تبدیل می‌کند.

نمایی از عمل‌کرد تگ غیر‌فعال
نمایی از عمل‌کرد تگ غیر‌فعالRFID

 

تگ‌ نیمه فعال:

ابن تگ دارای باتری است  و زمانی که نیروی فعال کننده را از Reader دریافت می‌کند ، باتری را به کار می‌اندازد و اطلاعات چیپ را ارسال می‌کند. در این نوع تگ در مصرف باتری صرفه‌جویی می‌شود و عمر باتری افزایش پیدا می‌کند.

آموزش راه اندازی ماژول RFID Rc522
نمایی از تگ نیمه فعال

 

تگ غیر فعال:

این تگ نیز همانند تگ‌های نیمه فعال دارای باتری می‌باشد با این تفاوت که همیشه فعال می‌باشند و مدام در حال ارسال اطلاعات به سمت Reader می‌باشند.

نمایی از عمل‌کرد تگ فعال
نمایی از عمل‌کرد تگ فعال

 

 

نمایی از کارت‌های فعال RFID
نمایی از کارت‌های فعال RFID

 

سخت افزار مورد نیاز:

ماژول آردوینو Uno

ماژول MRFC522  (خرید از فروشگاه)

 

ماژولRFID MRFC522

این ماژول RFID  در محدوده فرکانسی ۱۳٫۵۶ مگاهرتز کار می‌کند و علاوه بر خوندن اطلاعات، توانایی نوشتن بر روی تگ‌های MIFARE را دارا می‌باشد.

از ویژگی‌های شاخص این ماژول می‌توان به موارد زیر اشاره نمود :

  • ولتاژ مصرفی ۲٫۵ تا ۳٫۳ ولت DC
  • جریان مصرفی بسیار پایین
  • دارای یک بافر ۶۴ بیتی همراه با ساختمان داده ی FIFO برای دریافت و ارسال اطلاعات
  • دارای مد وقفه برای پردازش سریع‌تر اطلاعات
  • پشتیبانی از سه پروتکل ارتباطی I2C – SPI – Serial UART

 

طریقه اتصال پین‌های ماژول در سه پروتکل ارتباطی I2C – SPI – Serial UART به صورت زیر می‌باشد:

 

آموزش راه اندازی ماژول MRFC522
طریقه اتصال پین‌های ماژول MRFC522 به آردوینو

 

در  پروژه انجام شده توسط آردوینو Uno :

  • پین RST ماژول MRFC522 به پین شماره ۵ آردوینو متصل می‌شود.
  • پین SDA ماژول RFID به پین شماره ۱۰ آردوینومتصل می‌شود.
  • پین MOSI ماژول به پین شماره ۱۱ آردوینو متصل می‌شود.
  • پین MISO ماژول به پین شماره ۱۲ آردوینو متصل می‌شود.
  • پین SCK ماژول به پین شماره ۱۳ آردوینو متصل می‌شود.

 

 

تگ مایفر ( MIFARE ) چیست؟

نوعی از کارت‌های RFID با قابلیت ذخیره اطلاعات می‌باشند. در این نوع کارت‌ها حافظه به مقدار دلخواه وجود دارد بطوریکه هرنوع اطلاعات مربوط به کنترل و دسترسی می‌تواند مستقیماً روی برچسب (TAG) و درحافظهٔ آن نوشته شود. در این صورت این برچسب درست مانند یک شناسنامهٔ الکترونیکی همراه محصول عمل خواهد کرد.

در شکل زیر ساختار حافظه EEPROM یک تگ مایفر ۱ کیلوبایتی را مشاهده می‌کنید.

 

آموزش راه اندازی ماژول MRFC522 Arduino
آموزش راه اندازی ماژول MRFC522 ArduinoM

 

این تگ مایفر ۱ کیلوبایتی دارای ۱۶ سکتور می‌باشد که هر سکتور نیز از ۴ بلاک تشکیل شده است که هر بلاک نیز داری ۱۶ بایت می‌باشد. چهارمین بلاک از هر سکتور شامل کلید‌های امنیتی و بیت‌های دسترسی قرار دارد که از آن‌ها برای دستیابی به دیتاهای ذخیره شده استفاده می‌شود.

 

 

 

برای راه‌اندازی ماژول MRFC522 ابتدا کتابخانه‌ی این ماژول را از لینک زیر دانلود نمایید.

دانلود کتابخانه MRFC522

پس از دانلود کتابخانه ، آن را به نرم افزار آردوینو اضافه کنید.

توسط کد زیر ، حافظه EEPROM تگ مایفر را خوانده و بر روی سریال مانیتور نرم افزار آردوینو نمایش دهیم.

در قسمت‌های بعدی به آموزش پروژه‌های پیشرفته با این ماژول خواهیم پرداخت.

علیرضا قربانی
علیرضا قربانی
علیرضا قربانی هستم دانشجوی مهندسی پزشکی. چیزهای خیلی زیادی رو در دنیا دوست دارم. یک گیک هستم و یشه گفت یک هکر. نه به معنی دزدی پسورد و ایمیل مردم. به معنی عشق به دونستن و عشق به تحقیق درباره خیلی از چیزهایی که می بینم و می‌شنوم. اگر بخوام علاقه‌مندی‌ درجه یکم رو نام ببرم میتونم بگم برنامه نویسی و بعد از اون امبدد سیستم ها.

23 دیدگاه ها

  1. م.حیدری می‌گه:

    سلام
    مطالب بسیار مفیدی بود. در صورت امکان مطالب تکمیلی در زمینه RFID نیز قرار بدهید.مانند نحوه خواندن و نوشتن روی کارت مایفر…

    متشکرم.

  2. علی می‌گه:

    سلام کد هاشو برای نانو میخواستم

  3. سارا می‌گه:

    با سلام و احترام
    بنده این کدها رو برای آردوینو ۱٫۶ انجام دادم جواب نداد.
    میشه لطف کنید بگید از چه ورژنی باید استفاده شود؟

  4. کرتضی می‌گه:

    سلام
    هنگام اضافه کردن کتابخانه پیام خطا میده
    هر کاری هم میکنم درست نمیشه
    متشکر

  5. مرتضی می‌گه:

    the library “rfid- master ” cannot be used. library names must contain only basic letters and numbers(ASCII only and no spaces, and it cannot start with a number)

    تمام مسیری رو که تو این صفحه گفته بودید انجام دادم ولی هنگام اجرا برنامه، خطای عدم شناسایی تابع ها مشکل سازه
    لطف می کنید اگه راهماییم کنید
    متشکر

  6. مرتضی می‌گه:

    از وقتی که میگذارید ممنونم
    بازم هنگام افزودن کتابخانه همون خطا رو میده

  7. مرتضی می‌گه:

    سلامی دوباره
    متشکرم از کمکتون
    برنامه رو دوباره نصب کردم درست شد
    الان تمام کار ها رو انجام میدم
    هم ورژن مازول و هم نوشته ی توی برنامه در قسمت serial monitor به نمایش در میاد، منتها وقتی کارت رو نزدیک می کنم هیچ اتفاقی نمی افته، نه تنها برای این برنامه، برنامه های دیگه هم امتحان کردم بازم جواب نگرفتم
    امکان داره آنتن ماژول مشکل داشته باشه؟
    این در صورتی است که دیود ماژول هم روشن می شه
    البته پایه ها رو تقریبا ۲۰ باری چک کردم
    بازم درست نمیشه
    راه هست که بشه فهمید قطعات ماؤول سالمه یا نه؟
    خیلی خیلی سپاس گزارم

  8. farokh می‌گه:

    سلام. قسمت دوم اضافه نمیشه؟؟؟

  9. کاغذ دیواری می‌گه:

    عالی بود
    ممنون از آموزشتون

  10. farzad می‌گه:

    با سلام
    عالی بود
    درصورت امکان نحوه نوشتن و خواندن داده را برروی تگ توضیح دهید.

    با تشکر از آموزش جامع

  11. مرتضی می‌گه:

    سلام
    ممنون از کمکتون
    ماژول کاملا راه اندازی میشه.
    در واقع من می خواستم وقتی یه کارت مشخص رو نزدیک میکنم یه led روشن بشه، ولی وقتی این کد ها رو راه اندازی میکنم کلی داده مثل زیر نمایش داده میشه

    Scan PICC to see UID and type…

    Card UID : 84 90 6C A7

    PICC type : MIFARE 1KB

    Sector Block 0 1 2 3 4 5 6 7 …

    ۱۵ ۶۳ ۰۰ ۰۰ ۰۰ ۰۰ …
    خلاصه نوشتم.
    در صورتی که فقط به Card UID نیاز دارم و اون هم ۸۴ ۹۰ ۶C A7 هست.
    برای این کار نیازه که uid کارت رو بخونم ولی نمی دونم از چه دستوری
    میتونید کمکم کنید؟

  12. سلام
    برای ساخت دستی چطوری باید کار کرد؟
    هم تگ هم ریدر و هم رایتر

  13. عقیل می‌گه:

    سلام
    این اخطار برای چیه

    MFRC522 Software Version: 0x0 (unknown)
    WARNING: Communication failure, is the MFRC522 properly connected?
    Scan PICC to see UID, type, and data blocks…

  14. محسن می‌گه:

    سلام
    سپاس فراوان بخاطر کاملترین و بهترین مطالبی که در مورد اردوینو قرار می دهید

    ما همچنان منتظر ادامه مطالب rc-522 rfid هستیم

  15. علیرضا می‌گه:

    سلام لطفا اگه میشه سورس و آموزش های درب باز کن با rfid و ماژول آردوینو رو بزارید . ممنون میشم

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *