کتابخانه ها یکی از مهم ترین و پرکاربردترین ابزارهای نرم افزاری به شمار می روند. به کمک یک کتابخانه از نوشتن مجدد توابع جلوگیری شده و تمرکز اصلی روی کدهای اصلی برنامه قرار خواهد گرفت. امروزه با توجه به فعال بودن جامعه کاربری آردوینو، شاهد توسعه کتابخانه های زیادی در زمینه محاسبات، پردازش داده، زمانبندی و … هستیم. در این آموزش قصد داریم تا به یکی از کتابخانه های کاربردی در زمینه محاسبات بپردازیم. کتابخانه InfiniteAverage یک کتابخانه کاملا کلیدی و کاربردی جهت محاسبه میانگین داده هاست. به کمک این کتابخانه و به لطف وجود توابع متعدد، می توانیم میانگین با دقت مناسب از داده های مختلف را در اختیار داشته باشیم. در این آموزش به نحوه نصب کتابخانه، تحلیل و بررسی توابع کلیدی و اجرای یک مثال خواهیم پرداخت. در ادامه آموزش تحلیل کتابخانه با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.
نصب کتابخانه InfimiteAverage
همانطور که اطلاع دارید، کتابخانه ها یکی از ابزارهای کلیدی و کاربردی در برنامه نویسی به شمار می روند. به کمک این ابزار، می توانیم توابع نوشته شده در فایلهایی به نام کتابخانه ذخیره کرده و سپس در پروژه های متعدد از آن استفاده کنیم. همانطور که پیشتر گفته شد، برای راه اندازی و کار با ماژول کتابخانه توسعه داده شده است. برای استفاده از این کتابخانه، ابتدا باید آن را نصب کنیم. برای نصب کتابخانه در محیط آردویینو، ابتدا مطابق تصویر زیر بر روی گزینه Tools و سپس Manage Libraries کلیک کنید.
پس از کلیک بر روی گزینه Manage Libraries، در صفحه ظاهر شده، در قسمت کادر جستجو، عبارت 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 کتابخانه ای جهت ایجاد لیست برای اعداد و میانگین گیری به کمک توابع کلیدی و کاربردی است. در این آموزش به نصب کتابخانه، بررسی الزامات فنی و در نهایت پس از تحلیل توابع کلیدی و کاربردی کتابخانه، به اجرای یک نمونه برنامه پرداختیم.
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
سلام ، آقای صابری تشکر بابت مقاله و آموزش تون ، به یاد یه تک استاد سرشار
بی نهایت ممنونم از شما
بله، واقعا یاد ایشان بخیر
سلام خسته نباشید
چجوری میشه توابع کتابخانه هارو پیدا کرد و مطالعه کنیم شما از کجا مطالعه می کنید آیا داخل کتابخانه ها نوشته شده است؟؟؟
سلام
داخل فولدر کتابخانه یک فولدر به اسم src هست. در این فولدر یک فایل با پسوند h. وجود دارد. لیست کلیه توابع در این فایل است.
آیا توضیح و کاربرد توابع هم نوشته شده است؟
سلام
ببخشید دیر پاسخ می دهم، گاهی اوقات توضیحات دارد و گاهی نه، بستگی به توسعه دهنده دارد!