پروژه های آردوینو مدارهای الکترونیک

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

نوشته شده توسط علیرضا قربانی

آموزش ماژول 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 تگ مایفر را خوانده و بر روی سریال مانیتور نرم افزار آردوینو نمایش دهیم.

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

درباره نویسنده

علیرضا قربانی

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

تبادل نظر و رفع عیب با ثبت دیدگاه

۴۰ دیدگاه

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

    متشکرم.

    • سلام
      ارتباطی به ورژن آردوینو نداره
      کتابخانه را دانلود کنید و به IDE آردینو اضافه کنید مشکل بر طرف میشه

  • 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)

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

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

  • سلام
    ممنون از کمکتون
    ماژول کاملا راه اندازی میشه.
    در واقع من می خواستم وقتی یه کارت مشخص رو نزدیک میکنم یه 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 کارت رو بخونم ولی نمی دونم از چه دستوری
    میتونید کمکم کنید؟

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

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

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

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

  • با سلام
    ممنون از سایت خوبتون. بنده میخاستم همین مداری که گفتینو درست کنم اما میخام برد ریدرم ۱ الی۲ متر باشه. آیا میشه اینکارو کرد یا نه؟ میتونین راهنمایی کنین؟ ممنون میشم/

  • سلام خسته نباشید من می خواستم با استفاده از ماژول RFID RC522 و اردینو مگا با شناسایی کارت من رله روشن بشه و با دور کردن کارت رله خاموش بشه.

    ممنون میشم راهنماییم کنید

  • سلام خسته نباشید
    من طبق این اموزشات رفتم جلو همه چیز رو درست انحام دادم ولی هیچ جوابی دریافت نمیکنم
    مشکل از چی میتونه باشه؟
    نشانه سوختن ماژول چیه؟
    هیچوقت ولتاژ زیادی ندادم ۳٫۳ ولت
    فقط چراغ قرمز ماژول روشن میشه

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

    • با سلام
      ضمن تشکر از توجه شما، بله باید برد آنتن آن‌ها متفاوت باشد، البته برخی از کاربران با هک کردن سخت افزاری همین ماژول، برد آن را افزایش داده‌اند. این مورد را گوگل کنید.

  • سلام من این ماژول رو خریدم از سایتتون و توی خوندن UID و بلاک ها مشکلی ندارم!
    ولی نه میتونم UID نه بلاک رو تغییر بدم و از تگ های همراه که برام فرستادن استفاده کرد
    من دقیقا از کد ChangeUID استفاده کردم فقط بخش پین هارو که باید درست میکردم رو درست کردم.

    Card UID: 65 10 91 AB
    Card did not respond to 0x40 after HALT command. Are you sure it is a UID changeable one?
    Error name: Timeout in communication.
    Activating the UID backdoor failed.
    New UID and contents:
    Card UID: 65 10 91 AB
    Card SAK: 08
    PICC type: MIFARE 1KB
    Sector Block 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 AccessBits
    ۱۵ ۶۳ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ FF 07 80 69 FF FF FF FF FF FF [ 0 0 1 ]
    ۶۲ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ [ ۰ ۰ ۰ ]
    ۶۱ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ [ ۰ ۰ ۰ ]
    ۶۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ [ ۰ ۰ ۰ ]
    ۱۴ ۵۹ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ FF 07 80 69 FF FF FF FF FF FF [ 0 0 1 ]
    ۵۸ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ [ ۰ ۰ ۰ ]
    ۵۷ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ [ ۰ ۰ ۰ ]
    ۵۶ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ [ ۰ ۰ ۰ ]
    ۱۳ ۵۵ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ FF 07 80 69 FF FF FF FF FF FF [ 0 0 1 ]
    ۵۴ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ [ ۰ ۰ ۰ ]
    ۵۳ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ [ ۰ ۰ ۰ ]
    ۵۲ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ [ ۰ ۰ ۰ ]
    ۱۲ ۵۱ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ FF 07 80 69 FF FF FF FF FF FF [ 0 0 1 ]
    ۵۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ [ ۰ ۰ ۰ ]
    ۴۹ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ [ ۰ ۰ ۰ ]
    ۴۸ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ [ ۰ ۰ ۰ ]
    ۱۱ ۴۷ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ FF 07 80 69 FF FF FF FF FF FF [ 0 0 1 ]
    ۴۶ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ [ ۰ ۰ ۰ ]
    ۴۵ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ [ ۰ ۰ ۰ ]
    ۴۴ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ [ ۰ ۰ ۰ ]
    ۱۰ ۴۳ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ FF 07 80 69 FF FF FF FF FF FF [ 0 0 1 ]
    ۴۲ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ [ ۰ ۰ ۰ ]
    ۴۱ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ [ ۰ ۰ ۰ ]
    ۴۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ [ ۰
    Soft WDT reset

    ctx: cont
    sp: 3ffef1a0 end: 3ffef470 offset: 01b0

    >>>stack>>>
    ۳ffef350: 3ffef38f 0000000f 0000000f 40203ce2
    ۳ffef360: 00000000 00000000 40230985 4020412d
    ۳ffef370: 00000000 00000000 3ffee420 40203370
    ۳ffef380: 00000000 00000000 00000000 00000000
    ۳ffef390: 00004937 00120100 3ffe84e1 3ffef410
    ۳ffef3a0: 00000000 00000000 00000028 00000004
    ۳ffef3b0: 00000000 00000000 3ffee330 3ffee334
    ۳ffef3c0: 3ffef410 0000004b 3ffee420 40203bb0
    ۳ffef3d0: 3ffee334 00000010 3ffee420 3ffef410
    ۳ffef3e0: 3ffee334 0000000a 3ffee330 40203454
    ۳ffef3f0: 3ffe84e0 3ffee420 3ffee330 0000000f
    ۳ffef400: 3ffee420 3ffee334 3ffee330 402035ec
    ۳ffef410: ffffffff 3ffeffff 3ffee420 40203bd4
    ۳ffef420: 00000004 3ffee420 3ffee330 40201d63
    ۳ffef430: efbeadde 3ffee330 3ffee420 40203bd4
    ۳ffef440: 00000000 00000000 00000001 3ffee444
    ۳ffef450: 3fffdad0 00000000 3ffee43c 40203eac
    ۳ffef460: feefeffe feefeffe 3ffee450 40100114
    <<<stack<<<

    • سلام
      برای تغییر یونیک آی دی باید کارت RFID شما این قابلیت را داشته باشد. همچنین تگ های RFID هم مدل های متفاوتی دارند که ممکن است فقط به صورت Read و یا Write باشند.

      • PICC type: MIFARE 1KB
        یعنی قابلیت شو داره!
        نه مشکل از چیز دیگه بود این خطای آفست برای اتصالات هی قطع و وصل میشدن بود سیم مشکل داشت با تعویض سیم مشکل حل شد

    • با سلام
      ضمن تشکر از توجه شما، مشکلی ندارد شما میتوانید سوالاتتان را ازهمین طریق اعلام کنید، بنده و همکارانم در تلاش خواهیم بود که پاسخگو باشیم.
      در این خصوص که موارد کاملا مشهود است و در کامنت کدها نوشته شده است که علت این کار چیست.