RFID / NFC آردوینو پروژه های آردوینو

طراحی و پیاده سازی سیستم RFID نوبت دهی و محاسبه هزینه پارکینگ

create-parking-meter-system-with-rfid-and-arduino-digispark
نوشته شده توسط معین صابری

همانطور که از قدیم گفته اند هر آنکسی که دندان دهد، نان دهد، برای خودروها هم پارکینگ ها حکم نان دارند! پاساژها، مراکز خرید، فودکورت ها و… اگر پارکینگ نداشته باشند، مشتری هم نخواهند داشت. در کنار این، در سطح شهر پارکینگ های عمومی بسیاری را می بینیم؛ پارکینگ هایی که هم برای معاملات خودرو و هم برای شهروندان تدارک دیده شده اند. اما نکته مشترک بین تمام این پارکینگ ها، نیاز به یک سیستم اتوماسیون جهت کنترل ورود و خروج و محاسبه هزینه پارکینگ برای افراد است. در این آموزش قصد داریم تا به کمک برد آردوینو و فناوری RFID، به طراحی و پیاده سازی سیستم مدیریت پارکینگ بپردازیم. در ادامه پروژه مدیریت پارکینگ با مرجع تخصصی رزبری پای و آردوینو به زبان فارسی، دیجی اسپارک، همراه باشید.

 


نحوه عملکرد سیستم مدیریت پارکینگ


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

نحوه عملکرد سیستم مدیریت پارکینگ - دیجی اسپارک

 

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

 


ماژول RFID مدل EM19


فناوری RFID امکان تبادل بی سیم داده را فراهم می کند. در این فناوری یک طرف از پروسه ارسال و دریافت، نیازی به تغذیه ندارد. کارت ها، تگ های RFID و… زمانیکه در یک میدان مغناطیسی از سمت ماژول های RFID قرار می گیرند، تغذیه شده و به تبادل داده می پردازند.

ماژول RFID مدل EM19 - دیجی اسپارک

 

 در این پروژه ما از ماژول RFID مدل EM19 استفاده می کنیم. این ماژول از پورت سریال UART جهت تبادل داده استفاده می کند. با قرارگیری تگ RFID در مجاورت این ماژول، شماره ID تگ از طریق پورت سریال ارسال می گردد. برد آردوینو این شماره را دریافت کرده و بر اساس آن، ورود و یا خروج را تشخیص خواهد داد. برخی از مشخصات فنی این ماژول عبارتند از:

  • ولتاژ کاری ۲٫۷ الی ۵ ولت DC
  • دارای فرکانس کاری ۱۲۵ کیلوهرتز
  • دارای رابط سریال UART با باودریت پیشفرض ۹۶۰۰

 


برد آردوینو UNO


پروژه مدیریت پارکینگ، نیاز به یک پردازنده مرکزی جهت خواندن تگ های RFID، محاسبه زمان پارکنیگ و سایر محاسبات دارد. جهت اجرای برنامه مدیریت پارکینگ، از برد آردوینو UNO با پردازنده ATMEGA328P استفاده می کنیم. این برد دارای قابلیت ها و ویژگی های فراوانی است. از جمله این ویژگی ها می توان سهولت در آپلود برنامه ها و راه اندازی سریع و آسان مدار اشاره نمود. این سهولت به دلیل وجود بوت لودر روی برد آردوینو است. بدین ترتیب به سادگی و بدون نیاز به هیچ پروگرامر دیگری، برنامه روی برد آپلود می گردد. در کنار این، وجود کریستال خارجی، خازن و سایر امکانات دیگر، برد را از هر قطعه جانبی دیگر جهت راه اندازی میکروکنترلر، بی نیاز می نماید.

پروژه RFID پارکینگ هوشمند محاسبه هزینه - دیجی اسپارک

 

 در پروژه مدیریت پارکینگ، برد آردوینو UNO وظیفه دریافت داده از ماژول RFID، پردازش و ارسال داده ها به خروجی را برعهده دارد. به کمک برد آردوینو پروژه های بسیاری در دیجی اسپارک منتشر شده است. برخی از این پروژه ها را در جدول زیر مشاهده می نمایید.

لینک شرح پروژه عنوان پروژه
کلیک کنید اندازه گیری پارامترهای بیومتریک با ترکیبی از آردوینو و برنامه نویسی یکی از جذاب ترین پروژه های الکترونیکی قابل اجرا است. در آموزش کیت ecg آردوینو کیت کامل ضربان قلب ECG با ماژول AD8232 را بررسی و تحلیل خواهیم کرد. آموزش کامل راه اندازی ماژول ضربان قلب AD8232 با کیت ECG آردوینو

 

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

 

کلیک کنید سیستم های نوبت دهی، یکی از ابزارهای بسیار پرکاربرد در بانک ها، دفاتر پیشخوان، صرافی ها، ادارات و…. هستند. به کمک این دستگاه، مشتریان و یا ارباب رجوع، می توانند با دریافت شماره، منتظر نوبت برای سرویس دهی، بمانند. از طرفی کارمندان، با فشار دادن یک دکمه، می توانند مشتری را برای سرویس گیری، فرا بخوانند. در این آموزش به کمک برد آردویینو UNO، اقدام به طراحی و پیاده سازی یک سیستم نوبت دهی بانکی، می نماییم. پروژه سیستم نوبت دهی با پخش صدا و نمایش نوبت با آردوینو Arduino

 

 

 در ادامه این آموزش، به شماتیک و اتصالات پروژه مدیریت پارکینگ می پردازیم.

 


شماتیک و اتصالات پروژه


در این پروژه، ماژول RFID مدل EM19 از طریق رابط سریال خود به برد آردوینو متصل است. تصویر زیر، شمای این پروژه را نمایش می دهد.

 

 مطابق تصویر فوق، ماژول EM19 را به تغذیه ۵ ولت آردوینو متصل کرده و پایه TX آن به پایه RX آردوینو، متصل شود.

 


کدهای پروژه هزینه پارکینگ


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

توجه: پیش از آپلود برنامه، کابل متصل به پایه RX آردوینو را جدا کرده و پس از اتمام آپلود، کابل را مجددا متصل کنید.

 

جهت دسترسی به این بخش، اشتراک اسپارکر پلاس تهیه کنید.

 


اجرای پروژه هزینه پارکینگ


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

اجرای پروژه هزینه پارکینگ با آردوینو RFID - دیجی اسپارک

 

 توجه داشته باشید که این پروژه محدود به یک کارت نبوده و اگر کارت دیگری در مجاورت RFID قرار گیرد، به عنوان ورود تشخیص داده و با قرارگیری مجدد، خروج ثبت شده و هزینه محاسبه خواهد شد.

 


تحلیل کدهای برنامه


در این قسمت به تحلیل و بررسی روال پروژه می پردازیم. البته در کدهای پروژه به صورت خط به خط توضیح(کامنت) درج شده است؛ به طوریکه با مطالعه آن ها می توانید روال کلی کار را دریابید. در اینجا نیز به طور مختصر به روال کلی کار می پردازیم. در این پروژه زمانیکه تگ در مجاورت ماژول RFID قرار می گیرد، شماره آی دی آن خوانده می شود. سپس این شماره آی دی در رشته مربوط به ذخیره آی دی ها جستجو می گردد. در صورتیکه این آی دی یافت شود، یعنی اینکه خودرو قبلا ورود به پارکینگ داشته و اکنون قصد خروج از آن را دارد. در این حالت، زمان ثبت آی دی که پیشتر در حافظه ذخیره شده را خوانده و با زمان فعلی مقایسه می کنیم. این زمان را در هزینه پارکینگ به ثانیه ضرب کرده و هزینه کل پارکینگ محاسبه خواهد شد. سپس این آی دی را برای دفعات بعدی، از حافظه پاک می کنیم. در ادامه چنانچه این آی دی در رشته موجود نباشد، آن را در حافظ ثبت کرده و در کنار آن، زمان فعلی به کمک تابع millis اندازه گیری شده و در کنار رشته قرار می گیرد.

 


لوازم مورد نیاز


  1. برد آردوینو
  2. ماژول RFID مدل EM19

 


جمع بندی


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

 

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

 

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

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

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

۲ دیدگاه

  • سلام مهندس اگه میشه پروژه دربازکن RFID با اردوینو بزارید و دو کلید را هم به پروژه اضافه کنید که بشه با استفاده از این دو کلید تگ اضافه و حذف کنیم
    داخل سایت پروژه دربازکن RFID بود ولی کلید برای حذف و اضافه کردن تگ نداشت