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

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

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

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

 


سنسور TMP36


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

 

یکی از سنسورهای پرکاربرد، سنسور TMP36 است. این سنسور از خروجی آنالوگ با دقت مناسب بهره می برد. از این سنسور در پروژهای دیتالاگر، خانه های هوشمند و… می توان بهره برد. در زیر به برخی از ویژگی های این سنسور اشاره می کنیم.

  • بازه ولتاژ ۲٫۷ الی ۵٫۵
  • قابلیت اندازه گیری دما بین ۴۰- الی  ۱۲۵+ درجه سانتی گراد
  • دارای دقت ۲ درجه سانتی گرادی
  • دارای خروجی آنالوگ

پس از بررسی ویژگی ها و امکانات سنسور TMP36، نوبت به نحوه نصب کتابخانه آن تحت آردوینو می رسد. قسمت بعد به این موضوع اختصاص دارد.

 


نصب کتابخانه TMP36.h


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

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

 

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

 


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


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

 


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


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

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

aref: تعیین ولتاژ مرجع ADC

TMP36(uint8_t pin, float aref)
این تابع ولتاژ قرار گرفته بر روی پایه تعیین شده آنالوگ را می خواند. بدون ورودی float getVoltage()
به کمک این تابع دمای اندازه گیری شده توسط سنسور بر حسب سانتی گراد در خروجی قرار می گیرد. بدون ورودی   float getTempC()
به کمک این تابع دمای اندازه گیری شده توسط سنسور بر حسب فارنهایت در خروجی قرار می گیرد. بدون ورودی float getTempF()
به کمک این تابع دمای اندازه گیری شده توسط سنسور بر حسب کلوین در خروجی قرار می گیرد. بدون ورودی float getTempK()

 

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

 


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


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

#include <TMP36.h>  //اضافه کردن کتابخانه
TMP36 myTMP36(A0, 5.0); //ایجاد یک شی از کلاس کتابخانه با تعیین پایه A0 به عنوان ورودی آنالوگ و ۵ ولت برای ولتاژ مرجع

void setup() {
  Serial.begin(9600);  //تعیین باودریت سریال
}

void loop() {
  float celsius = myTMP36.getTempC();   //خواندن دما به سانتی گراد
  float fahrenheit = myTMP36.getTempF(); 
   //نمایش داده ها در سریال
  Serial.print("Celsius: ");
  Serial.print(celsius);
  Serial.print(" Fahrenheit: ");
  Serial.println(fahrenheit);
  delay(500);
}

 


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


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

انواع برد ESP

سنسور TMP36

 


جمع بندی


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

 

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

 

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

معین صابری

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

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

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