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

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

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

در این مقاله می‌خواهیم نحوه استفاده از 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
SDA Digital 10
SCK Digital 13
MOSI Digital 11
MISO Digital 12
IRQ unconnected
GND GND
RST Digital 9
3.3V 3.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

 

منبع

حمایت از electronic girl

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

0 نفر

پــــســنــدیـده انـد

توجه

electronic girl
electronic girl

دوستدار الکترونیک

دیدگاه ها

19 دیدگاه

  • امیر
    ۲۳ بهمن ۱۳۹۹

    با سلام ، ممنون بابت مطالب خوبتون
    من ی مشکل دارم : برنامه فقط id دو تا کارت همراه پک RFID را شناسایی میکنه ، من 5 عدد تگ جاسوئیچی هم خریدم اما ان ها را شناسایی نمیکنه ، چیکار کنم ؟
    لطفا جواب بدین.

    • Sisoog Os
      Sisoog Os
      ۲۴ بهمن ۱۳۹۹

      سلام دوست عزیز
      شاید اونها RFID نیستند و کارتهایی مثل مافیر هستند

  • بی نام
    ۲۶ بهمن ۱۳۹۸

    دوستان میتونند یه نگاهی هم به https://github.com/esprfid/esp-rfid بندازند.
    جامع و کامل با رابط گرافیکی و…

    • Zeus ‌
      زئوس Zeus
      ۳۰ بهمن ۱۳۹۸

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

  • حسین صفری
    ۳ بهمن ۱۳۹۸

    سلام چطور میشه کارت دیگه ای هم اضافه کرد یو آی دی کارت دوم رو کجا باید بنویسیم.

    • Zeus ‌
      زئوس Zeus
      ۵ بهمن ۱۳۹۸

      خوب اونجایی که داره ایدی کارت رو مقایسه میکنه یه else if بذارید و همون الگوی بالا رو تکرار کنید یا توی همون شرط اول or کنید 🙂

  • امیرحسین آقاجانی
    ۱۸ مهر ۱۳۹۸

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

    • Zeus ‌
      زئوس Zeus
      ۲۰ مهر ۱۳۹۸

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

  • محمدرضا
    ۲۶ فروردین ۱۳۹۸

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

    • Zeus ‌
      زئوس Zeus
      ۲۷ فروردین ۱۳۹۸

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

      • محمدرضا
        ۱ اردیبهشت ۱۳۹۸

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

        • Zeus ‌
          زئوس Zeus
          ۹ اردیبهشت ۱۳۹۸

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

  • یوسف
    ۹ بهمن ۱۳۹۷

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

  • یوسف
    ۷ بهمن ۱۳۹۷

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

    • Nasim Hematian
      electronic girl
      ۸ بهمن ۱۳۹۷

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

      • یوسف
        ۸ بهمن ۱۳۹۷

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

        • Nasim Hematian
          electronic girl
          ۹ بهمن ۱۳۹۷

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

          • یوسف
            ۹ بهمن ۱۳۹۷

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

            0
          • Nasim Hematian
            electronic girl
            ۱۰ بهمن ۱۳۹۷

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

            0

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

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

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

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

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 9 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

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

Zeus ‌ Zeus ‌
  • 1 سال پیش

درآمد زایی به سبک پینوکیو

ما مهندسین, بخصوص مهندسین برق و الکترونیک … علاقه خاصی به طراحی و ساختن داریم علاقه زیادی به تکنولوژی , بخصوص از...

Sisoog Os Sisoog Os
  • 3 سال پیش
سیـــســـوگ

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