آردوینو آموزش آردوینو

پیاده سازی مانیتورینگ سنسور و داده‌ها با قابلیت ترسیم نمودار در آردوینو

create-sensor-data-monitoring-system-with-arduino-digispark
نوشته شده توسط معین صابری

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

 


اجزا و قطعات پروژه مانیتورینگ


همانطور که پیشتر گفته شد، در این پروژه قصد مانیتورینگ داده های محیط را داریم. به همین منظور پارامترهایی نظیر دما، فشار و میزان کیفیت هوا را سنجیده و به صورت نموداری از طریق Serial Plotter آردوینو مشاهده خواهیم نمود. در این پروژه برد آردوینو UNO به عنوان پردازنده مرکزی خواهد بود. این برد که در حقیقت برد توسعه میکروکنترلر ATMEGA328P محسوب می شود، برنامه نویسی میکروکنترلرها را بسیار ساده می کند. در طرف دیگر به یمن وجود بوت لودذ، آپلود برنامه روی برد بسیار ساده خواهد شد. در کنار این، جهت اندازه گیری پارامترهای محیط، به سنسورهای مربوطه نیازمندیم. جهت اندازه گیری فشار هوا از سنسور BMP180 استفاده می کنیم. سنسور BMP180 یک سنسور بی نهایت کاربردی با رابط کاربری دیجیتال I2C است. بدین ترتیب این سنسور با برد آردوینو سازگاری کامل دارد.  این سنسور قابلیت اندازه گیری فشار در بازه ۳۰۰ الی ۱۱۰۰ هکتو پاسکال را دارد.

 

در کنار این، سنسور BMP180 قابلیت اندازه گیری دمای محیط را در خود جای داده است. بدین ترتیب بدون نیاز به سنسور دیگری و تنها از طریق همین یک سنسور می توانیم دما و فشار محیط را اندازه گیری کنیم. این سنسور می تواند دمای محیط را در بازه ۰ الی ۶۵ درجه سانتی گراد، اندازه گیری کند. در ادامه این موضوع، به کمک سنسور MQ135 قادر به اندازه گیری کیفیت هوا خواهیم بود. سنسور MQ135 یک سنسور جامع جهت اندازه گیری کیفیت هواست. سنسور MQ135 می تواند دود، آمونیاک، CO2 ، سولفید و بنزن موجود در محیط را اندازه گیری کند. بدین ترتیب از این سنسور می توان در تشخیص کیفیت هوا و سایر آلاینده های موجود در محیط استفاده نمود. خروجی سنسور MQ135 به صورت آنالوگ بوده که این خروجی با تغییرات ذرات در هوا، تغییر می کند.

 

سنسور MQ135 دارای یک هیتر داخلی است. زمانیکه سنسور به تغذیه متصل می شود،  هیتر داخلی شروع به گرم شدن می کند. با رسیدن هیتر به دمای ایده آل، سنسور پایدار شده و میزان کیفیت هوا را می سنجد. سنسور MQ135 همچنین در دو نوع ساده و برد راه انداز وجود داشته که با برد راه انداز، سنسور به سادگی به آردوینو متصل می شود.

 


شماتیک و اتصالات پروژه مانیتورینگ سنسور


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

 

در ادامه با توجه به تصویر فوق، اتصالات را به شیوه زیر ادامه می دهیم.

 


اتصالات سنسور BMP180 و آردوینو


اتصال پایه Vید ریست برد)

توجه: تنها در سنسور BMP180 با برد آبی رنگ تغذیه تا ۵ ولت مجاز است، در سایر بردها تغذیه متفاوت خواهد بود!

CC سنسور به پایه ۵ ولت آردوینو

اتصال پایه GND سنسور به پایه GND آردوینو

اتصال پایه SCL سنسور به پایه SCL برد آردوینو(بالا سمت راست پایین تر از کلید ریست برد)

اتصال پایه SDA سنسور به پایه SDA برد آردوینو(بالا سمت راست پایین تر از کل

 


اتصالات سنسور MQ135


اتصال پایه VCC سنسور به پایه ۵ ولت آردوینو

اتصال پایه GND سنسور به پایه GND آردوینو

اتصال پایه AO سنسور به پایه A0 آردوینو

 


اتصالات کلید ها


اتصال یک پایه از هر کلید به پایه های ۲،۳ و ۴ و اتصال پایه دیگر هر کلید به GND

 


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


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

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

 

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

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

 


کدهای پروژه مانیتورینگ سنسور


پس از برقراری اتصالات نوبت به کدهای پروژه می رسد. این کدها را روی برد آردوینو UNO خود آپلود کنید.

#include <Adafruit_BMP085.h>  //کتابخانه سنسور BMP180
#define temp_key 2  //کلید مربوط به دما
#define pre_key 3  //کلید مربوط به فشار
#define mq_key 4  //کلید مربوط به سنسور MQ
Adafruit_BMP085 bmp;  //تعریف شی از کلاس کتابخانه
void setup() {
  Serial.begin(9600);
  if (!bmp.begin()) {  //راه اندازی سنسور bmp
    Serial.println("sensor running error!");
    while (1) {}
  }
  //تعیریف کلید ها به صورت ورودی و با مقاومت داخلی پول آپ
  pinMode(temp_key, INPUT_PULLUP);
  pinMode(pre_key, INPUT_PULLUP);
  pinMode(mq_key, INPUT_PULLUP);
}

void loop() {
  if (digitalRead(temp_key) == LOW) {  //در صورتیکه کلید مربوط به دما فشار داده شود مقدار پایه آن صفر می شود.
    Serial.println("Temperature");
    //  delay(30);
    Serial.println(bmp.readTemperature());   //خواندن دما به سانتی گراد
    //delay(30);
  }
  else if (digitalRead(pre_key) == LOW) {  //کلید فشار
    Serial.println("Pressure");
    //delay(30);
    Serial.println(bmp.readPressure());  //خواندن فشار
    //  delay(30);
  }
  else if(digitalRead(mq_key)==LOW){  //کلید کیفیت هوا
    Serial.println(analogRead(A0));
    delay(30);
  }
}

 


 اجرای پروژه مانیتورینگ سنسور


پس از آپلود کدها، نوبت به اجرای پروژه می رسد. برای اجرا پروژه پس از اتصال آردوینو به رایانه، از منوی Tools گزینه Serial Plotter را انتخاب کنید. سپس برای نمایش دما، فشار و کیفیت هوا، به ترتیب کلیدهای ۲، ۳ و ۴ را فشار دهید. با فشار دادن کلید مربوط به دما، نمودار آن به صورت زیر نمایش داده می شود.

 اجرای پروژه مانیتورینگ سنسور - دیجی اسپارک

 

در ادامه با قطع کلید دما و فشردن کلید فشار، نمودار فشار هوا به شکل زیر نمایش داده می شود.

نمایش نمودار در پروژه مانیتورینگ سنسور آردوینو - دیجی اسپارک

 

در نهایت با قطع کلید فشار هوا و فشردن کلید کیفیت هوا، نمودار داده های دریافتی از سنسور MQ135 به شکل زیر نمایش داده می شود.

روند  اجرای پروژه مانیتورینگ سنسور آردوینو - دیجی اسپارک

 


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


لینک خرید برد آردوینو  UNO، کلیک کنید

لینک خرید سنسور BMP180، کلیک کنید

لینک خرید سنسور MQ135، کلیک کنید

لینک خرید کلید راکر، کلیک کنید

 


جمع بندی


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

 

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

معین صابری

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

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

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

۲ دیدگاه

  • با سلام
    ممنون از آموزش های خوبتون
    خواهش میکنم یه آموزش هم برای snmp بزارید تا بشه با ابزار های مانیتورینگ مثل prtg و solarwinds و … اطلاعات رو دریافت کرد.
    مثلا تعریف oid های مختلف برای سنسور ها و متغییر های مختلف
    تعریف commiunication key
    تعریف snmp trap
    ممنون میشم آموزشش رو بزارید یا حداقل کمکی در این باره به من کنید

    • سلام
      متاسفانه در این زمینه ها اطلاعی ندارم، از سایر دوستان تقاضا می کنم در بحث شرکت کنند.