تحلیل کتابخانه

طراحی و توسعه کتابخانه ترموستات جهت کار با کلیه سنسورهای دما

create-arduino-library-for-thermostat-sensors-digispark
نوشته شده توسط معین صابری

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

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

 


تشریح عملکرد ترموستات های دیجیتال


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

 


نصب کتابخانه ترموستات


پیش از ادامه بحث، می بایست ابتدا کتابخانه را نصب کنیم. به همین منظور، ابتدا روی این لینک جهت دانلود فایل فشرده کتابخانه کلید کنید. پس از دانلود کتابخانه، می بایست آن را به نرم افزار آردوینو اضافه کنیم. برای این مورد، در نرم افزار آردوینو روی منوی sketch->include library->add zip file مطابق تصویر زیر کلیک کرده و کتابخانه را به نرم افزار اضافه کنید.

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

 


توابع کلیدی و کاربردی کتابخانه


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

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

تابع begin در کتابخانه به صورت زیر تعریف شده است.

Begin(int alarm_pin, int relay_pin);

در تابع فوق ورودی alarm_pin جهت تعیین پایه آلارم است. در کنار این ورودی relay_pin جهت تعیین پایه رله متصل به برد آردوینو تعریف می گردد. پس از معرفی تابع، نوبت به تنظیم دمای محیط می رسد. برای این مورد تابع set_temp به شکل زیر توسعه یافته است.

set_temp(float min_temp,float max_temp, float act_tem);

در تابع فوق، ورودی min_temp جهت تعیین حداقل دمای مجاز، ورودی max_temp جهت تعیین حداکثر دمای مجاز و ورودی act_temp به عنوان دمای فعلی است. دو ورودی max_temp و min_temp توسط کاربر تعیین می شود، اما برای ورودی act_temp می توانید دمای اندازه گیری شده از سنسورهای مختلف نظیر سنسور دمای LM35، DS18B20 و…. را قرار دهید.

 


اجرای یک نمونه برنامه


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

#include "thermo_lib.h"
thermo_lib test;
void setup() {
  test.begin(3, 13);
  test.set_temp(20.5,40.38,40.39);

}

void loop() {

}

 


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


لینک خرید انواع برد آردوینو، کلیک کنید

لینک خرید انواع برد ESP، کلیک کنید

لینک خرید انواع سنسور دما، کلیک کنید

 


جمع بندی


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

 

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

 

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

معین صابری

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

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

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