آردوینو پروژه های آردوینو

طراحی و شبیه سازی سیستم اعلام غیر مجاز خروج کالا با RFID و برد آردوینو

create-warehouse-rfid-inventory-tracking-with-em-19-and-arduino-digispark
نوشته شده توسط معین صابری

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

 


عملکرد سیستم اعلام هشدار خروج غیر مجاز کالا


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

پروژه خروج کالا با RFID و کنترل موجودی انبار آردوینو - دیجی اسپارک

 

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

 


ماژول گیرنده RFID


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

ماژول گیرنده RFID مدل EM-19 در پروژه خروج کالا با RFID - دیجی اسپارک

 

 ماژول گیرنده RFID مدل EM19 دارای ولتاژ کاری ۳٫۶ الی ۵ ولت است. بدین ترتیب به سادگی با برد آردوینو راه اندازی می شود. از طرف دیگر، این ماژول به طور خودکار با قرار گیری تگ در محدوده تشخیص آن، کد تگ را در سریال خود قرار می دهد. راه اندازی و کار با این ماژول بسیار ساده بوده و با اتصال تغذیه، شروع به کار خواهد نمود. توجه داشته باشید که برای راه اندازی و کار با این ماژول نیاز به تگ RFID با فرکانس ۱۲۵ کیلوهرتز است. در این آموزش ما از تگ سکه ای استفاده می کنیم. در کنار این، هسته پردازشی بر عهده برد آردوینو است. قسمت بعدی به برد آردوینو می پردازد.

 


نقش برد آردوینو UNO در پروژه


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

برد آردوینو Uno در پروژه خروج کالا با RFID - دیجی اسپارک

 

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

 


شماتیک و اتصالات


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

اتصالات پروژه خروج کالا با RFID و آردوینو - دیجی اسپارک

 

مطابق تصویر فوق، اتصالات را به شیوه زیر اجرا می کنیم.

  • اتصال پایه VDD ماژول EM19 به پایه تغذیه ۵ ولت آردوینو
  • اتصال پایه GND ماژول EM19 به پایه GND آردوینو
  • اتصال پایه TX ماژول EM19 به پایه RX آردوینو

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

  • اتصال پایه منفی باز به GND آردوینو
  • اتصال پایه مثبت بازر به پایه کلکتور ترانزیستور
  • اتصال پایه امیتر ترانزیستور به GND اردوینو
  • اتصال پایه بیس ترانزیستور به کمک یک مقاومت یک کیلو اهمی به صورت سری به پایه ۸ آردوینو

 


کدهای پروژه خروج کالا با RFID


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

#define buzzer 8  //انتخاب پایه شماره ۸ به عنوان اتصال به بازر
void setup() {
  Serial.begin(9600);  //از آنجاییکه  باودریت ماژول EM19 برابر با ۹۶۰۰ است، لذا این مقدار تعیین می گردد.
  delay(500);
  pinMode(buzzer, OUTPUT);   //تعیین پایه بازر به عنوان خروجی
  digitalWrite(buzzer, LOW);
}

void loop() {
  if (Serial.available() > 0) {  //در صورتیکه در بافر سریال داده ای موجود باشد(داده ای از طرف ماژول EM مبنی بر خواندن تگ وجود داشته باشد)
    Serial.readString();  //داده ها رامی خوانیم که بافر برای دفعاات بعدی قابل استفاده باشد
    Serial.println("GOODS ALARM!");
    Serial.flush();
    digitalWrite(buzzer, HIGH);   //فعال کردن بازر برای ۳ ثانیه
    delay(3000);
    digitalWrite(buzzer, LOW);
  }

}

 

 


 اجرای پروژه خروج کالا با RFID


پس از آپلود کدها، نوبت به اجرای پروژه می رسد. جهت اجرای پروژه، کافیست تگ RFID را در مجاورت ماژول EM19 قرار دهید؛ سپس بوق بازر آلارم نیز به صدا در خواهد آمد.

پروژه خروج کالا با RFID و ماژول em-19 -دیجی اسپارک

 


 تحلیل کدهای پروژه


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

If(Serial.avalable() > 0)

 

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

 


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


  1. برد آردوینو UNO
  2. ترانزیستور ۲N2222
  3. مقاومت یک کیلو اهمی
  4. بازر
  5. تگ سکه ای RFID با فرکانس ۱۲۵ کیلوهرتز
  6. ماژول گیرنده RFID مدل EM19

 


جمع بندی


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

 

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

 

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

معین صابری

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

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

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