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

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

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

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

 


آی سی LTC1392


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

 

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

 


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


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

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

 


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


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

 


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


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

شرح ورودی ها تابع
این تابع، در حقیقت تابع سازنده از کلاس کتابخانه  LTC1392 به شمار می رود. به هنگام تعریف شی، می بایست ورودی ها نیز تعریف گردند. ورودی اول جهت تعیین پایه انتخاب چیپ(Chip Select)

ورودی دوم جهت تعیین پایه sck یا کلاک

ورودی سوم جهت تعیین پایه data

LTC1392(int cs_pin, int sck_pin, int data_pin)
به کمک این تابع دمای محیط اندازه گیری شده و به صورت درجه سانتی گراد در خروجی قرار می گیرد. بدون ورودی float get_temperature(void)
به کمک این تابع می توان ولتاژ منبع تغذیه را اندازه گیری نموده و در خروجی قرار داد. بدون ورودی   float get_supply_voltage(void)
این تابع می توان اختلاف دو ولتاژ متصل به پایه های VIN+ و VIN- را اندازه گیری کرده و در خروجی قرار می دهد. در صورتیکه ورودی false باشد مقیاس مقایسه یک ولت و در صورت true بودن این مقیاس ۰٫۵ ولت خواهد بود. ورودی از نوع بولین جهت تعیین مقیاس اندازه گیری float get_differential_voltage(bool scale_mode)
از آنجاییکه آی سی LTC1392 قابلیت اندازه گیری جریان را داشته و برای آن نیاز به یک مقاومت شنت دارد، لذا این تابع مقدار مقاومت شنت را تعیین می کند. برای این مورد مقدار مقاومت در ورودی این تابع قررا می گیرد. مقدار ورودی به اهم است. ورودی از نوع اعشاری void set_shunt(float value)
این تابع جریان مصرفی را خوانده و در خروجی قرار می دهد. اگر ورودی true باشد، مقیاس اندازه گیری ۰٫۵ ولت به ازای جریان و اگر false باشد، این مقیاس ۱ ولت خواهد شد. ووردی از نوع بولین float get_current(bool scale_mode)

 

پس از بررسی توابع کتابخانه، نوبت به اجرای یک نمونه برنامه می رسد. قسمت بعدی مربوط به این موضوع است.

 


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


در این قسمت به اجرای نمونه برنامه می پردازیم. در این برنامه پارامترهای قابل اندازه گیری توسط آی سی LTC1392 خوانده شده و در سریال مانیتور چاپ می شود.

#include "LTC1392.h"
//تعیین پایه های ارتباطی
#define LTC_CS 2
#define LTC_SCK 3
#define LTC_DATA 4
LTC1392 ltc(LTC_CS, LTC_SCK, LTC_DATA);


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

  
  ltc.set_shunt(1.0); //تعیین مقاومت شنت، یک اهم
}


void loop() {
 
  float temperature = ltc.get_temperature();  //خواند دما
  float voltage = ltc.get_supply_voltage();   //خواندن ولتاژ تغذیه
  float dif_voltage = ltc.get_differential_voltage(false);  //خواندن ولتاژ تفاضلی
  float current = ltc.get_current(false);  //خواندن جریان مصرفی

  // چاپ داده ها
  Serial.print("Temperature: ");
  Serial.print(temperature);
  Serial.print(" degC\tSupply Voltage: ");
  Serial.print(voltage);
  Serial.print(" V\tDifferential Voltage: ");
  Serial.print(dif_voltage * 1000);  //چاپ اختلاف ولتاژ به صورت میلی ولت
  Serial.print(" mV\tCurrent: ");
  Serial.print(current*1000);  //چاپ جریان به صورت میلی آمپر
  Serial.print(" mA ");
  Serial.println("");

  delay(1000);
}

 


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


آی سی LTC1392

انواع برد آردوینو

 


جمع بندی


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

 

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

 

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

معین صابری

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

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

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