آردوینو arduino, آموزش, توصیه شده, مقاله

راه اندازی RC522 RFID Reader با استفاده از Arduino

اکسس کنترل با RFID

در این مقاله می‌خواهیم نحوه استفاده از RFID ریدر مدل RC522 را بیان کنیم. با سیسوگ همراه باشید تا با مشخصات این RFID بیشتر آشنا شوید و هم‌چنین نمونه پروژه‌ای از آن با استفاده از آردوینو را ببینید.

RFID:

در واقع RFID کلمه اختصاری بازشناسایی با امواج رادیویی است. RFID از میدان مغناطیسی برای انتقال اطلاعات در فاصله کوتاه استفاده می‌کند. می‌توان در مواردی هم‌چون شناسایی افراد، معاملات و … از آن استفاده کرد.

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

سیستم RFID به منظور شناسایی از برچسب‌هایی که به اشیاء متصل می‌شوند استفاده می‌کند. به عنوان مثال در تصویر زیر، یک جا کلیدی (keychain) و یک کارت الکترومغناطیسی را می‌بینید که هر تگ شناسه (UID) مخصوص به خود دارد.

 

RFID Tag

 

 

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

 

ماژول RFID ریدر RC522

 

مشخصات ماژول RC522 :

ولتاژ ورودی: 3.3V
قیمت: حدود 21 هزار تومان (البته بهتر است قیمت روز بازار ایران را مد نظر قرار دهیم)
فرکانس: 13.56 مگاهرتز

دانلود کتابخانه RC522 :

در اینجا کتابخانه ای که برای این پروژه نیاز دارید قرار دارد:

  1. کتابخانه RFID نوشته شده توسط  miguelbalboa را از اینجا دانلود کنید.
  2. کتابخانه RFID را از حالت زیپ خارج کنید.
  3. کتابخانه RFID را در آردوینو IDE خود نصب کنید.
  4. آردوینو IDE خود را دوباره راه اندازی کنید.

 

اتصالات پین‌ها:

پیناتصال به Arduino Uno
SDADigital 10
SCKDigital 13
MOSIDigital 11
MISODigital 12
IRQunconnected
GNDGND
RSTDigital 9
3.3V3.3V

توجه داشته باشید که تغذیه باید 3.3 ولت باشد.

 

مدار:

اتصال RFID ریدر RC522 به آردوینو

خواندن اطلاعات از تگ RFID :

پس از اینکه مدارتان آماده شد به File > Examples > MFRC522 > DumpInfo بروید و کدتان را آپلود کنید. پس از نصب کتابخانه RFID این کد در کتابخانه شما در دسترس است.

سپس سریال مانیتور را باز کنید. تصویری مشابه شکل زیر را می‌ببینید.

 

serial monitor

 

کارت RFID یا keychain را به ریدر نزدیک کنید و تا زمانی که تمام اطلاعات نمایش داده شود، ریدر و تگ را نزدیک هم نگه دارید.

 

خواندن اطلاعات برچسب RFID

 

این اطلاعاتی است که می توانید از کارت بخوانید، از جمله UID کارت که در تصویر با کادر زرد مشخص شده است. این اطلاعات در حافظه ذخیره می‌شود و همان‌طور که در تصویر مشاهده کردید به سطر و ستون تقسیم می‌شود.

شما 1024 بایت ذخیره سازی داده دارید که به 16 بخش تقسیم شده و هر بخش توسط دو کلید A و B محافظت می‌شود.

UID کارت خود را یادداشت کنید، زیرا بعداً به آن نیاز دارید.

کد زیر را آپلود کنید:

در قسمتی از کد بالا شما باید  (”if (content.substring(1) == “REPLACE WITH YOUR UID را تغییر دهید و UID کارت خود را که قبلاً یادداشت کرده‌اید بنویسید.

 

نمایش:

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

 

 

اگر کارتی که UID آن را وارد کرده‌اید نزدیک کنید تصویر زیر را خواهید دید:

 

RFID Reader

 

 

و اگر کارت با UID غیر منطبق نزدیک شود پیغام عدم پذیرش نمایش داده می‌شود:

 

RFID Reader

 

منبع


انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

شما نیز میتوانید یکی از نویسندگان سیسوگ باشید.  همکاری با سیسوگ

 

نوشته های مشابه

13 دیدگاه در “راه اندازی RC522 RFID Reader با استفاده از Arduino

  1. سلام،
    با تشکر بابت این آموزش خوب!
    فقط یه سوال؛ آیا تگ های 125 کیلوهرتز هم بهش میخوره ؟

    1. زئوس Zeus زئوس Zeus گفت:

      سلام دوست عزیز
      این ماژول در واقع ماژولی هست که قادر به خودندن کارت های ۱۳.۵ مگاهرتزه و قادر نیست کارت های ۱۲۵ کیلوهرتز رو بخونه

  2. محمدرضا گفت:

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

    1. زئوس Zeus زئوس Zeus گفت:

      سلام دوست عزیز
      احتمالا سورسی در این خصوص منتشر میکنیم ولی با GCC
      توصیه میکنم شما هم از Codevition به GCC مهاجرت کنید
      دلیلشم مشخصه توصیه میکنم مقاله کامپایلر Codevisionavr در مقابل کامپایلر GCC و مقایسه تخصصی آنها رو مطالعه کنید.

      1. محمدرضا گفت:

        ممنون از پاسختون
        شاید کسای دیگه هم این مطلب رو خونده باشن و دوست داشته باشن با GCC کار کنن ولی منبع اموزش خوب کاملی برای این کامپایلر وجود نداره در صورتی که چند تا سایت اموزش کامل کدویژن رو قرار دادن و اکثر کتاب ها و فیلم های اموزشی هم بر مبنای کدویژن تولید شده
        در هر حال با GCC هم اگه کد رو قرار بدید ممنون میشم چون این 2 کامپایلر تفاوت های جزئی توی دستورات با هم دارن و میشه تبدیلشون کرد

        1. زئوس Zeus زئوس Zeus گفت:

          سلام دوست عزیز ؛ واقعا جای تامل داره که چرا جامعه آکادمیک به این سمت حرکت کرده ! ای کاش در کشور قانون کپی رایت بهتر پیگیری میشد.
          در حال حاظر در نظر دارم آموزش GCC رو برای میکروکنترلر ARM سری ST منتشر کنیم
          قبلا نرم افزار Atmel Studio رو معرفی کردیم و نحوه کار با اون رو آموزش دادیم که اونم از GCC استفاده میکنه

  3. یوسف گفت:

    می تونم خواهش کنم شما کدو قرار بدید چون وارد نیستم اخه شدید نیاز دارم

  4. یوسف گفت:

    سلام چطوری led بهش وصل کنیم لطفا بگید

    1. N H N H گفت:

      سلام دوست عزیز شما LED را برای چه کاری نیاز دارید؟
      در واقع این برنامه نیازی به LED نداره چون تمام اطلاعات در سریال مانیتور نمایش داده میشه ولی اگه نیاز به LED دارید باید دستور روشن شدن LED را متناسب با نیازتون در برنامه اضافه کنید.

      1. یوسف گفت:

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

        1. N H N H گفت:

          سلام. شما میتونید در بطن شرط if خط 52 برنامه که درست بودن کارت را چک می کند دستور روشن شدن رله یا هر چیز دیگه ای که نیاز دارید را اضافه کنید.
          موفق باشید.

          1. یوسف گفت:

            می شه شما برام این کارو بکنید چون وارد نیسنم وبه کدش احتیاج زیاد دارم

          2. N H N H گفت:

            سلام
            من توی برنامه رله رو به پایه 11 وصل کردم که خودتون میتونین پایه رو تغییر بدید. اگه کارت درست باشه رله 1 ثانیه وصل میشه. کد را میتونین از لینک زیر دانلود کنین:
            https://paste.ofcode.org/Y5nwFg8iqm5dpMG5Kzfuhh

پاسخی بگذارید

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