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

تحلیل و بررسی کتابخانه FanController

FanController-arduino-library
نوشته شده توسط معین صابری

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

 


نصب کتابخانه FanController


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

روش نصب کتابخانه PCF8574.h - دیجی اسپارک

 

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

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

 


الزامات و نکات فنی کتابخانه FanController


کتابخانه FanController یک کتابخانه بسیار کاربردی است. این کتابخانه می تواند دور موتور را کنترل کند. به همین جهت از پالس PWM استفاده می کند. این کتابخانه بر روی کلیه معماری های مورد پشتیبانی آردوینو قابل اجراست. در حقیقت این کتابخانه مستقل از معماری بوده و می تواند بر روی کلیه بردهای آردوینو مانند UNO و بردهای ESP32 قابل اجراست.

 


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


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

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

ورودی دوم مقدار آستانه

ورودی سوم پایه PWM

FanController(byte sensorPin, unsigned int sensorThreshold, byte pwmPin = 0);
این تابع ارتباط بین کتابخانه و موتور را فعال می کند. بدون ورودی begin()
این تابع سرعت موتور را اندازه گیری کرده و در خروجی قرار می دهد. بدون ورودی int getSpeed()

 

به کمک این تابع می توان سیکل pwm را تعیین نمود. ورودی جهت تعیین pwm setDutyCycle(byte dutyCycle);
این تابع میزان PWM اعمال شده به موتور را محاسبه کرده و در خروجی قرار می دهد. بدون ورودی byte getDutyCycle()

 


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


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

#include <FanController.h>  //اضافه کردن کتابخانه 

//تعیین پایه جهت سنسور این پایه باید پایه وقفه باشد
#define SENSOR_PIN 2

// تعیین مقدار آستانه این مقدار مدت زمان خواندن دو مقار سرعت موتور فن را تعیین می کند
#define SENSOR_THRESHOLD 1000

// تعیین شماره پایه PWM
#define PWM_PIN 9

// Initialize library
FanController fan(SENSOR_PIN, SENSOR_THRESHOLD, PWM_PIN);  //ایجاد شی از کلاس کتابخانه 


void setup(void)
{
  // start serial port
  Serial.begin(9600);
  Serial.println("Fan Controller Library Demo");

  // راه اندازی کلاس کتابخانه 
  fan.begin();
}


void loop(void)
{
  // خواندن سرعت موتور
  Serial.print("Current speed: ");
  unsigned int rpms = fan.getSpeed(); // خواندن سرعت موتور
  Serial.print(rpms);
  Serial.println("RPM");
}

 


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


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

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

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

 


جمع بندی


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

 

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

معین صابری

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

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

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

۵ دیدگاه