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

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

نوشته شده توسط معین صابری

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

 


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


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

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

Analysis and review of MQ135 library

 

  • پس از دانلود کتابخانه، با کلیک بر روی گزینه extract here، کتابخانه را از حالت فشرده خارج سازید. پس از اتمام، با بازنمودن فولدر، با تصویر زیر رو به رو خواهید شد.

Analysis and review of MQ135 library

 

  • در نهایت فولدر را در مسیر نصب آردوینو و در قسمت libraries کپی نمایید. از آنجاییکه معمولا نرم افزار آردوینو در درایو c نصب می گردد، لذا مسیر زیر را برای قرار دادن این فولدر در پیش بگیرید.

C:->Program Files->Arduino->Libraries->فولدر کتابخانه اینجا کپی شود

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

 


الزامات فنی و بردهای مورد پشتیبانی


در این قسمت به بررسی الزامات فنی و بردهای مورد پشتیبانی این کتابخانه می پردازیم. همانطور که اطلاع دارید، سنسورهای گاز MQ135 دارای خروجی آنالوگ هستند. بنابراین برای خواندن مقدار آن در خروجی، می بایست برد مورد نظر از مبدل آنالوگ به دیجیتال بهره مند باشد. این کتابخانه برای بردهای آردوینو نظیر UNO، MEGA و…. قابل راه اندازی است. در نظر داشته باشید که برای راه اندزای سنسور MQ می توانید از سنسور به صورت خام و یا برد راه انداز استفاده کنید. استافده از برد راه انداز سبب راحتی در راه اندازی خواهد شد. چراکه برای سنسور خام، نیاز به بعضی از المان های جانبی خواهید داشت.

Analysis and review of MQ135 library

 


توابع کتابخانه MQ135


در این قسمت به بررسی توابع کتابخانه MQ135 می پردازیم. این توابع در جدول زیر لیست می شوند. توجه داشته باشید که در این جدول، ورودی ها از سمت چپ به راست شماره های ۱، ۲ و…. را به خود اختصاص می دهند.

شرح ورودی ها تابع
این تابع یک نمونه شی از کلاس کتابخانه MQ135 می سازد. در حقیقت این تابع، یک تابع سازنده برای کلاس کتابخانه است. ورودی این تابع تعیین کننده پین آنالوگ جهت اتصال به خروجی سنسور است. ورودی از نوع ۸ بیت بدون علامت MQ135(uint8_t pin);
به کمک این تابع می توان می correction factor را برای سنسور محاسبه نمود. در ورودی این تابع، ورودی نخست مربوط به دمای محیط و ورودی دوم رطوبت محیط است. با قرا دادن این دو ورودی به این تابع، این نرخ محاسبه شده و در خروجی قرار خواهد گرفت. ورودی اول از نوع عدد اعشاری

ورودی دوم از نوع عدد اعشاری

float getCorrectionFactor(float t, float h)
به کمک این تابع مقاومت درونی  سنسور محاسبه شده و در خروج تابع قرار می گیرد. این مقدار به صورت کیلو اهم خواهد بود. بدون ورودی float getResistance()
به کمک این تابع می توانید میزان مقاومت رونی سنسور را به صورت اصلاح شده به دست آورید. برای این مورد میزان دما در ورودی اول و رطوبت محیط را در ورودی دوم تابع قرار داده و در خروجی مقاومت را دریافت نمایید. ورودی اول از نوع اعشاری

ورودی نوع دوم از نوع اعشاری

float getCorrectedResistance(float t, float h)
این تابع میزان گاز co2 موجود در محیط را اندازه گیری کرده و در خروجی قرار می دهد. خروجی از نوع اعشاری است. بدون ورودی float getPPM()
این تابع میزان گاز co2 موجود در محیط را اندازه گرفته و به صورت اصلاح شده در خروجی قرار می دهد. برای این مورد ورودی اول این تابع را مقدار دمای محیط و ورودی دوم میزان رطوبت محیط قرار دهید. سپس خروجی به صورت اصلاح شده و از نوع اعشاری تولید خواهد شد. ورودی اول از نوع  اعشاری

ورودی دوم از نوع اعشاری

float getCorrectedPPM(float t, float h)

 


نمونه برنامه


در این قسمت به اجرای یک نمونه برنامه ساده می پردازیم. در این برنامه، میزان گاز co2 محیط اندازه گیری شده و در خروجی سریال مانیتور قرار می گیرد. توجه داشته باشید که این کتابخانه، مقاوت Load(RLOAD) را ۱۰ کیلو اهم در نظر می گیرد.

#include <MQ135.h>
MQ135 test(A0);  //تعیرف یک شی از کتابخانه و تعیین پایه A0 آردوینو جهت خواندن ورودی
void setup() {
  Serial.begin(9600);
  Serial.println("CO2 RATE :");
  delay(1000);
}

void loop() {
float data=test.getPPM();   //دریافت مقدار CO2 محیط 
Serial.println(data);  //نمایش داده ها در سریال مانیتور
delay(1000);

}

 


لوازم متناسب با کتابخانه


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

سنسور گاز MQ135

 


جمع بندی


در این آموزش به تحلیل و بررسی کتابخانه MQ135 پرداختیم. به کمک این کتابخانه می تاون داده های سنسور کیفیت هوا MA135 را به شکلی ساده، از سنسور خوانده و در آردوینو تحلیل نمود. این کتابخانه دارای توابع متعدد نظیر اصلاح خطا، محاسبه میزان مقاومت درونی سنسور و…. را خواند.  بدین ترتیب به کمک این کتابخانه می توانید به سادگی سنسور کیفیت هوا MQ135 را راه اندازی کرده و مقدار CO2 را بر حسب PPM دریافت نمود.

 

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

 

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

معین صابری

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

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

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