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

تحلیل و بررسی کتابخانه map2colour.h

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

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

 


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


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

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

 

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

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

 


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


پس از نصب کتابخانه، نوبت به الزامات فنی آن می رسد. کتابخانه map2colour، یک کتابخانه محاسباتی است. به عبارت دیگر، این کتابخانه، یک آرایه در ورودی گرفته و آن را تبدیل به معادل RGB می کند. بنابراین این کتابخانه مستقل از معماری بوده و بر روی کلیه بردهای آردوینو اجرا می شود.  همچنین این کتابخانه در دو مد ۳۲ و ۱۶ بیت می تواند خروجی مناسب را تولید کند.  بنابراین این کتابخانه می تواند روی کلیه بردهای مورد پشتیبانی آردوینو اجرا شود. به عبارت دیگر، این کتابخانه مستقل از معماری بوده و بر روی بردهای آردوینو با معماری پردازنده AVR و یا ESP با پردازنده XTENSA، قابل اجراست.

 


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


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

شرح ورودی تابع
این تابع کتابخانه را راه اندازی می کند. ورودی این تابع آرایه ای از اعداد است. ورودی اول ارایه ای از اعداد

 

bool begin(float * values)
خروجی این تابع رنگ معادل ورودی است. ورودی عدد اعشاری     uint32_t map2RGB(float value)
خروجی این تابع عدد معادل RGB ورودی است. این تابع به صورت ۱۶ بیت در فرمت ۵۶۵ عدد RGB را تولید می کند. ورودی عدد اعشاری    uint16_t map2_565(float value)

 

در رابطه با دو تابع map2RGB و map2_565، خروجی این دو تابع به صورت از پیش تعریف شده است. جدول زیر، مقدار define، عدد معادل و تفسیر آن را نمایش می دهد.

define value تفسیر
M2C_BLACK ۰x00000000 مشکی
M2C_SILVER ۰x00C0C0C0 نقره ای
M2C_GRAY ۰x00808080 خاکستری
M2C_WHITE ۰x00FFFFFF سفید
M2C_MAROON ۰x00800000 قهوه ای
M2C_RED ۰x00FF0000 قرمز
M2C_PURPLE ۰x00800080 بنفش
M2C_FUCHSIA ۰x00FF00FF سرخابی
M2C_GREEN ۰x00008000 سبز
M2C_LIME ۰x000FF000 سفید آهکی
M2C_OLIVE ۰x00808000 زیتونی
M2C_YELLOW ۰x00FFFF00 زرد
M2C_NAVY ۰x00000080 آبی
M2C_BLUE ۰x000000FF آبی
M2C_TEAL ۰x00008080 سبز
M2C_AQUA ۰x0000FFFF آبی

 


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


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

#include "Arduino.h"
#include "map2colour.h"   //درج کتابخانه
map2colour mc;  //ایجاد شی از کلاس کتابخانه

// آرایه ورودی بریا رنگ ها
float values[7] = { 0, 32, 64, 128, 256, 512, 1024 };


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

  mc.begin(values);  //راه اندازی کتابخانه

  for (float i = 0; i < 1024; i += 10)  
  {
    uint32_t rgb = mc.map2RGB(i);   //دریافت رنگ معادل  عدد
    Serial.print(i);
    Serial.print("\t");
    Serial.println(rgb, HEX);  //نمایش رنگ به فرمت HEX
  }
  Serial.println();
}


void loop()
{
  int x = analogRead(0);          // خواندن عدد از ورودی آنالوگ
  uint32_t rgb = mc.map2RGB(x);   //دریافت رنگ معادل ورودی
  Serial.print(x);
  Serial.print("\t");
  Serial.println(rgb, HEX);   //نمایش رنگ معادل به هگز
  delay(100);
}

 


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


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

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

 


جمع بندی


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

 

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

معین صابری

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

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

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