سیستم های رله تایمردار را می توان یکی از مهم ترین ابزارها در زمینه کنترل توان وسایل برقی به شمار می روند. به کمک این سیستم شما می توانید مدت زمان فعال یا غیر فعال بودن یک وسیله را تعیین کنید. جهت پیاده سازی این سیستم، یکی از روش های مناسب برای ارسال فرمان، می توان به صورت بی سیم عمل کرد. به کمک بلوتوث می توان به دستگاه رله تایمر به صورت بی سیم فرمان ارسال نمود. بدین ترتیب کاربر به سادگی می تواند فرامین خود به دستگاه را، از طریق تلفن همراه و به صورت بی سیم ارسال کند. اما جهت پیاده سازی این سیستم، جهت افزایش کارایی، می توان از سیستم عامل استفاده کرد. به کمک سیستم عامل می توان با اجرای دو برنامه، سرعت اجرا را افزایش داد. در این آموزش قصد داریم تا به طراحی و پیاده سازی یک سیستم رله تایمر دار بلوتوثی به کمک سیستم عامل FreeRTOS بپردازیم. بنابراین در ادامه پروژه رله تایمر بلوتوثی FreeRTOS با مرجع تخصصی سیستم عامل FreeRTOS به زبان فارسی، دیجی اسپارک همراه باشید.
نقش سیستم عامل در رله تایمر بلوتوثی
پیش از آنکه به ادامه بحث بپردازیم، کمی به مفهوم سیستم عامل و نقش آن در پروژه می پردازیم. همانطور که اطلاع دارید، هر برد آردوینو تنها می تواند یک برنامه اجرا کند. طبیعتا جهت اجرای دو برنامه یا بیشتر، باید بردهای بیشتری بخریم؛ اما به کمک سیستم عامل می توانیم چندین برنامه را روی یک برد اجرا کنید.
در پروژه رله تایمر بلوتوثی FreeRTOS می توانیم دو برنامه را به صورت همزمان، به طوریکه روی یکدیگر تداخلی نداشته باشند اجرا کنید. یکی از این برنامه ها وظیفه دریافت داده از بلوتوث را به صورت حلقه تکرار دارد. در طرف دیگر، یک برنامه وظیفه دارد تا با ایجاد تاخیر، پایه GPIO را کنترل کند. به عبارت دیگر، در برنامه کنترل GPIO، یک حلقه تکرار بی نهایت وجود داشته که با ایجاد تاخیر، روشن و خاموش بودن پایه GPIO کنترل می شود. حال در این حین، اگر فرمانی از طریق بلوتوث دریافت شود، می توان زمان فعال/غیرفعال بودن بلوتوث را تنظیم کرد. بدین ترتیب می توان به سادگی فعال و غیر فعال کردن رله را کنترل نمود.
قطعات پروژه و نقش هر کدام
در پروژه رله تایمر بلوتوثی FreeRTOS ما سه بخش کلی داریم. یک بخش پردازشی، یکی بخش مخابراتی و دیگری بخش رله است. به کمک ماژول بلوتوث، می توانیم فرامین کاربر را به صورت بیسیم از تلفن همراه دریافت کنیم. رای این مورد، ما از مآژول بلوتوث HC05 استفاده می کنیم. ماژول بلوتوث HC05 یک ماژول بی نهایت کاربردی است. به کمک این ماژول می توانید ارتباط بی سیمی را بین برد آردوینو و تلفن همراه ایجاد کرد.
ماژول بلوتوث HC-05 یک ماژول کلیدی برای پروژه های بی سیم است. جهت راه اندازی و کار با این ماژول سلسله آموزشی در دیجی اسپارک تعبیه شده که با کلیک بر روی این لینک می توانید آموزش را مطالعه کنید. در ادامه این موضوع، برد آردوینو UNO به عنوان پردازشگر مرکزی در این پروژه انتخاب شده است. برد آردوینو دارای پردازنده مرکزی ATMEGA328P است. این برد راه اندازی و کار با میکروکنترلرها را بسیار تسریع و البته تسهیل می کند.
سیستم عامل FreeRTOS قابلیت اجرا روی برد آردوینو را دارد. سیستم عامل FreeRTOS یک سیستم عامل برای اجرای چندبرنامگی بر روی میکروکنترلرهاست. با کلیک بر روی این لینک، می توانید سلسله آموزش های سیستم عامل FreeRTOS را مشاهده کنید. اما در ادامه، ماژول رله، یک ابزار بسیار مناسب است. به کمک ماژول رله می توانید رله را به سادگی و بدون نیاز به مدار جانبی، راه اندازی کنید.
نصب کتابخانه سیستم عامل FreeRTOS
همانطور که اطلاع دارید، کتابخانه ها یکی از ابزارهای کلیدی و کاربردی در برنامه نویسی به شمار می روند. به کمک این ابزار، می توانیم توابع نوشته شده در فایلهایی به نام کتابخانه ذخیره کرده و سپس در پروژه های متعدد از آن استفاده کنیم. همانطور که پیشتر گفته شد، برای راه اندازی و کار با سیستم عامل، کتابخانه توسعه داده شده است. برای استفاده از این کتابخانه، ابتدا باید آن را نصب کنیم. برای نصب کتابخانه در محیط آردویینو، ابتدا مطابق تصویر زیر بر روی گزینه Tools و سپس Manage Libraries کلیک کنید.
در مرحله بعد، در منوی جست و جوی کتابخانه ها. جهت نصب کتابخانه، freertos را تایپ کنید. با تایپ این عبارت با تصویر زیر رو به رو خواهید شد. مطابق تصویر، کتابخانه مشخص شده با کادر قرمز رنگ را نصب نمایید.
کدهای پروژه رله تایمر بلوتوثی
پس از نصب کتابخانه، نوبت به آپلود کدهای پروژه رله تایمر بلوتوثی FreeRTOS می رسد. کدهای زیر را روی برد آردوینو آپلود کنید.
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
اتصالات پروژه رله تایمر بلوتوثی FreeRTOS
در این قسمت به بررسی شماتیک و اتصالات پروژه رله تایمر بلوتوثی FreeRTOS می پردازیم. اتصالات بسیار ساده است، کافیست به تصویر زیر دقت کنید.
در ادامه، مطابق تصویر فوق اتصالات را باید به شکل زیر ادامه دهیم.
اتصالات ماژول بلوتوث
- اتصال پایه VCC ماژول بلوتوث به پایه ۵ ولت آردوینو
- اتصال پایه GND ماژول بلوتوث به پایه GND آردوینو
- اتصال پایه TX ماژول بلوتوث به پایه RX برد آردوینو
اتصالات ماژول رله تک کانال
- اتصال پایه VCC ماژول به ۵ ولت آردوینو
- اتصال پایه GND ماژول به GND آردوینو
- اتصال پایه IN ماژول رله به پایه ۱۳ آردوینو
اجرای پروژه رله بلوتوثی FreeRTOS
پس از برقراری اتصالات، جهت اجرای پروژه باید نرم افزار blueterm را روی تلفن همراه اندروید خود نصب داشته باشید. ابتدا نرم افزار را باز کرده و پس از اسکن، ماژول بلوتوث HC05 را انتخاب کرده و متصل شوید. برای ارسال فرمان، مدت زمان روشن بودن رله ابتدا، سپس یک ویرگول و بعد از آن مدت زمان خاموش بودن رله مشخص می شود. همچنین به این نکته توجه داشته باشید که مقیاس زمان میلی ثانیه است. به عنوان یک مثال از کاربرد، برای فعال سازی به مدت ۵ ثانیه و خاموش بودن برای ۷ ثانیه، به صورت زیر عمل می کنیم.
۵۰۰۰,۷۰۰۰
لوازم مورد نیاز
لینک خرید ماژول رله، کلیک کنید
جمع بندی
سیستم عامل یکی از ابزارهای مهم نرم افزاری در پروژه های صنعتی و تجاری است. به کمک سیستم عامل می توان هزینه ها را کاهش داد؛ به طوریکه به چای اجرای چندین برنامه روی چندین برد، چندین برنامه به کمک سیستم عامل روی یک برد اجرا شود. در این آموزش به طراحی و پیاده سازی یک سیستم رله کنترل تایمر دار پرداختیم. به کمک این سیستم می توان با ارسال فرمان، به صورت بیسیم و از طریق بلوتوث، رله ها را کنترل نمود. در اینجا سیستم عامل با مدیریت Task ها، می تواند به صورت همزمان هم داده های ورودی از طریق بلوتوث را چک کند و هم به کنترل وضعیت رله ها بپردازد.
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.