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

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

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

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

 


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


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

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

 

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

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

 


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


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

 


تحلیل و بررسی توابع کلیدی


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

شرح ورودی تابع
این تابع نقش تابع سازنده کلاس کتابخانه را بازی می کند. بدون ورودی IAVG()
این تابع کلیه مقادیر را پاکسازی می کند. بدون ورودی void reset
این تابع یک مقدار اعشاری را در ورودی گرفته و به لیست اعدادی که می خواهیم میانگین گیری کنیم، اضافه می کنیم. ورودی از نوع اعشاری void add(float value)
این تابع میانگین اعداد موجود در لیست را محاسبه کرده و در خروجی قرار می دهد. بدون ورودی float average()
این تابع کوچکترین عدد موجود در لیست را یافته و در خروجی قرار می دهد. بدون ورودی float minimum()
این تابع بزرگترین عدد موجود در لیست را یافته و در خروجی قرار می دهد. بدون ورودی float maximum()
این تابع تعداد اعداد موجود در لیست را در خروجی قرار می دهد. بدون ورودی uint32_t count()

 


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


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

#include "infiniteAverage.h"   //اضافه کردن کتابخانه

IAVG IA;  //ایجاد یک شی از کلاس کتابخانه

uint32_t lastTime = 0;  //ایجاد  یک متغیر


void setup()
{
  Serial.begin(115200);
  Serial.println(__FILE__);

  IA.reset();  //ریست اولیه
  IA.setDivideThreshold(1024);  

  while (1)
  {
    IA.add(random(10000) * 0.0001);  //اضافه کردن مقدار تصادفی  و قرار دادن در لیست

    if (millis() - lastTime >= 500)  //ایجاد زمان 
    {
      lastTime = millis();
      Serial.println(IA.count());  //نمایش تعداد اعداد موجود در لیست
      Serial.println(IA.average(), 7);  //نمایش میانگین
    }
  }
}


void loop()
{
}

 


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


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

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

 


جمع بندی


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

 

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

 

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

معین صابری

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

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

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

۶ دیدگاه

  • سلام خسته نباشید
    چجوری میشه توابع کتابخانه هارو پیدا کرد و مطالعه کنیم شما از کجا مطالعه می کنید آیا داخل کتابخانه ها نوشته شده است؟؟؟