خواندن تگ RFID با ماژول RC522 و برد آردوینو

با پیشرفت روز افزون تکنولوژی در زمینه های مختلف، مدیریت افراد آسان تر شده است. به طوری که با تکنولوژی RFID می توان عبور و مرور، شمارش افراد و … را به راحتی کنترل کرد. فرض کنید یک ساختمان اداری دارای بخش های مختلفی است، هر کدام از این افراد با توجه به رتبه شغلی شان باید به مکان های مختلفی دسترسی داشته باشند. این کار توسط کارت های RFID به راحتی انجام می شود به طوری که برای ورود به هر بخش کافیست تگ RFID را در مقابل دستگاه مخصوص به خود قرار دهند تا علاوه بر ثبت حضور، اجازه ورود به بخش مورد نظر داده شود.  در این سری از پروژه های آردوینو، نحوه خواندن کدهای تگ RFID به کمک مازول RC522 و نحوه اتصال به برد آردوینو و راه اندازی آن را به طور کامل توضیح داده ایم. پیشنهاد می کنیم اگر مایل به ساخت یک دستگاه حضور و غیاب پیشرفته و در عین حال کم هزینه برای اداره یا شرکت خود هستید پروژه زیر که در وب سایت الکترونیک98 منتشر گردیده است را به طور کامل مطالعه نموده تا بتوانید دستگاه مورد نظر را در سریعترین زمان بسازید.

آموزش خواندن کدهای تگ RFID

RFID چیست؟

RFID مخفف Radio Frequency Identification به معنی شناسایی فرکانس رادیویی که قادر به تبادل اطلاعات است. در مفهوم RFID علاوه بر یک دستگاه کارت خوان که خواننده کارت یا Reader نامیده می شود یک سری تگ RFID یا کارت شناسایی نیز وجود دارد. زمانی که این تگ ها در محدوده تعیین شده در مقابل دستگاه کارت خوان قرار بگیرند، میدان مغناطیسی تولید شده توسط دستگاه کارت خوان باعث فعال شدن تگ می گردد و این تگ به طور مداوم اقدام به ارسال اطلاعات از طریق امواج رادیویی می کند و دستگاه کارت خوان داده ها را دریافت و به سیستم های دیگر جهت پردازش ارسال می کند.

تگ RFID

همچنین لازم به ذکر است که این تگ ها ضد آب بوده و با توجه به شکل و اندازه آن ها به راحتی قابل حمل می باشند. از جمله کاربرد تگ های RFID به شرح زیر است:

1. دستگاه حضور و غیاب

2. شمارش افراد

3. مدیریت دارایی

4. دستگاه های هوشمند

5. دستگاه های ردیابی

6. ایمنی مواد غذایی

7. سیستم های پرداخت

8. زمان بندی مسابقه

9. سیستم های پرداخت تلفن و …

ماژول کارت خوان RFID RC522

ماژول RC522 برای خواندن غیر تماسی تگ های RFID در فرکانس 13.56MHz به کار برده می شود. این ماژول، قابل استفاده با بردهای آردوینو است و کاربردی بسیار مناسب در توسعه تجهیزات و کارت خوان های RF دارد. همچنین ارتباط این ماژول از طریق رابط SPI است. از جمله مشخصات و ویژگی های ماژول RFID RC522 به شرح زیر است:

1. راه اندازی با ولتاژ کم

2. قیمت بسیار پایین نسبت به کاربرد آن

3. اندازه کوچک و قابل حمل به راحتی

4. دارای 8 پایه جهت ارتباط با برد آردوینو

5. نوع فیبر به صورت فایبرگلاس

6. پروتکل ارتباطی به صورت SPI

7. ولتاژ مورد نیاز 2.5 تا 3.3 ولت

8. جریان 13 تا 26 میلی آمپر

9. فرکانس کاری در محدوده 13.56MHz

10. سرعت 10Mbit/S

11. محدوده دما 20- تا 80+ درجه سانتی گراد

12. محدوده اندازه گیری تگ در 8 تا 10 سانتی متر

13. دارای بافر 64 بیتی برای حافظه

14. ابعاد فیبر 40*60 میلی متر

دانلود دیتا شیت ماژولRFID RC522

لیست قطعات مورد نیاز

برد آردوینو Arduino UNO R3 مدل DIP1 عدد
ماژول کارت خوان RFID مدل خواندن و نوشتن RC5221 عدد
تگ RFID مدل کارتی 13.56MHz1 عدد
برد بورد (پروجکت برد) مدل GL1 عدد
سیم جامپر برد بوردی مدل دو سر نری (سری 40تایی)1 عدد
ماژول RFID RC522

نحوه اتصال قطعات به یکدیگر و برد آردوینو بسیار ساده است به طوری که برای انجام این عمل می توانید طبق شماتیک و توضیحات زیر این کار را به راحتی انجام دهید.

نحوه اتصال قطعات به یکدیگر و برد آردوینو

1. در مرحله اول ابتدا پایه 3.3v مازول RC522 را به پین 3.3v برد آرددوینو اتصال دهید.

2. پایه GND ماژول را به پین زمین یا GND آردوینو متصل کنید.

3. پایه ریست RST را به پین دیجیتال شماره 9 یا D9 آردوینو متصل نمائید.

4. پایه SDA را به پین D10 آردوینو اتصال دهید.

5. پایه MOSI را به پین D11 آردوینو متصل کنید.

6. پایه MISO را به پین D12 آردوینو متصل نمائید.

7. پایه SCK را به پین D13 آردوینو اتصال دهید.

برنامه نویسی پروژه

قبل از برنامه نویسی در نرم افزار آردوینو ابتدا کتابخانه RFID را دانلود نموده و طبق توضیحات زیر، آن را به زیرمجموعه های کتابخانه خود در نرم افزار آردوینو اضافه کنید.

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

نصب کردن کتابخانه RFID

لازم به ذکر است که نرم افزار برنامه نویسی آردوینو به صورت پیش فرض توانایی پشتیبانی از RFID را ندارد بنابراین ما باید library (کتابخانه یا برنامه) مورد نیاز را بر روی آن نصب کنیم. این فرآیند بسیار ساده و راحت است که در زیر نحوه استفاده از آن را توضیح داده ایم.

1. در مرحله اول ابتدا آخرین (جدیدترین) نسخه کتابخانه (RFID ) را از لینک فوق دانلود کنید.

2. پس از دانلود فایل، نرم افزار آردوینو را باز کنید.

3. مسیر زیر را دنبال کنید و در پنجره باز شده فایل کتابخانه RFID را که قبلا دانلود کرده اید را انتخاب نمائید:

… Sketch > Include Library > Add .ZIP Library

برنامه نویسی کامل پروژه

بعد از اتصال قطعات به یکدیگر و نصب کتابخانه، کدهای زیر را در نرم افزار آردوینو کپی نموده سپس به برد آردوینو آپلود کنید.

ویدیوی ضبط شده از نحوه عملکرد پروژه

 اطلاعات پروژه

 رمز فایل : www.electronics98.com (این مطلب فاقد فایل جهت دانلود است)

 نویسنده : محسن برات زاده

 تاریخ انتشار : 27 مارس 2019

11 دیدگاه

  1. سلام،ممنونم از سایت بسیار خوبتون
    لطفا در مورد اینکه تگ رو چطور برای ماژول تعریف کنیم و همچنین اضافه کردن تگ های بیشتر نیز توضیح دهید.متشکرم

  2. با تشکر از مطالب بسیار آموزنده و مفیدتون
    من بوسیله ماژول rc522 ویک رله 5 ولتی دستگاه درب باز کن ساختم
    در حالت معمولی که خروجی رله را به وسایل برقی وصل میکنم سیستم خوب جواب میده مثلا یک فن کوچک را استارت میکنه
    ولی وقتی به بوبین درب منزل وصل میکنم و کارت را نزدیک میبرم بوبین فعال میشه و درب را باز میکنه ولی بصورت تحریک شده باقی میمونه و غیر فعال نمیشه
    دومین مشکل اینه که در صورت قطع و وصل تغذیه چرا بوبین را فعال میکنه ؟
    ممکنه درب منزل با قطع و وصل برق ناخودآگاه باز بشه؟
    متشکرم

  3. سلام دوست عزیز
    من دقیقا متوجه سوال شما نشدم.
    یعنی شما از برد آردوینو استفاده نکرده اید و تنها خروجی IRQ ماژول RC522 را به رله داده اید؟
    اگر خروجی IRQ را مستقیم به یک رله وصل کرده اید، باید بدانید این خروجی تنها برای باخبر کردن دستگاه از کشیده شدن کارت است و با کشیدن هر کارتی این خروجی فعال می شود پس به هیچ عنوان این شیوه امنیت لازم را ندارد.
    اما اگر از برد آردوینو استفاده کرده اید و ماژول RC522 را به برد آردوینو متصل کرده اید، تنها لازم است در برنامه خود زمانیکه رله را فعال کرده اید توسط دستور delay یک تاخیر یک ثانیه ای ایجاد کنید و بعد از آن مجدد رله را غیر فعال کنید.

  4. با سلام.
    تشکر بایت مطالب خوبتون.
    سوالی داشتم در مورد محدوده اندازه گیری تگ در 8 تا 10 سانتی متر است. برای اینکه محدوده اندازه گیری به 1متر برسانیم چه راه حلی پیشنهاد می کنید.

  5. سلام دوست عزیز
    برای دسترسی به بردهای بیشتر از 10 سانتی متر باید از ماژول های RFID مدل UHF استفاده نمایید.

  6. سلام وقت بخیر
    ممنون بابت مطالب ارزشمندتون
    مشکلی که دارم نیاز به یه ریدری دارم که از فاصله نیم متر رو بتونه بخونه و قیمتش پایین باشه زیر یک میلیون باشه آیا شما چنین ریدری مد نظرتون هس

  7. سلام دوست عزیز
    همانطور که در پاسخ به سوال قبلی دیگر کاربر، ذکر شد، برای دسترسی به بردهای بیشتر از 10 سانتی متر باید از ماژول های RFID مدل UHF استفاده نمایید. در حال حاضر از قیمت این ماژول ها اطلاعی ندارم، اما می توانید با یک جستجوی ساده در فروشگاه های اینترنتی، مدل های متفاوت این ماژول را هم از لحاظ فنی و هم قیمتی بررسی فرمائید.

  8. سلام ببخشید من از این پروژه ی شما استفاده کردم خوب کار میکنه فقط 2 سانتی متر تا 3 سانتی متر رو جواب میده چطور تا 10سانتی متر جواب بگیرم

    یه پروژه ی دیگه هم از شما دیدم با ماژول دیگه ای بود ولی دکمه ی حذف و اضافه کردن کارت رو داشت میخواستم بدونم با همین کد نویسی چطوری اون کارو انجام بدم اصلا میشه؟ که دیگه سیم پروگرم رو وصل نکنم

  9. سلام دوست عزیز
    به صورت کلی فاصله تشخیص ماژول های RFID در همین حدود است، در صورتیکه نیاز به فاصله بیشتر دارید باید از ماژول های RFID با فناوری UHF استفاده کنید.

  10. ممنون

  11. سلام وقت بخیر بنده یک سوالی در رابطه با کد دهی تک به دستگاه داشتم من تمام کد ها وارد کردم فقط تگ دستگاه وارد نمی شود و در سریال مانیتور این رو می‌نویسه

    This code scan the MIFARE Classic NUID.
    Using the following key:. FF. FF. FF. Ff. Ff. Ff

 شرایط و قوانین ثبت دیدگاه

 فارسی بنویسید و از کیبورد فارسی استفاده کنید.

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

 به کاربران و سایر اشخاص احترام بگذارید. پیام‌هایی که شامل محتوای توهین‌آمیز و کلمات نامناسب باشند، حذف می‌شوند.

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