آموزش راه اندازی ماژول سنسور فشار بارومتریک BMP180 با آردوینو

فهرست مطالب

مقدمه

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

آنچه در این آموزش یاد می گیرید

فشار بارومتریک چیست؟

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

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

Unit 1hPa equivalent
Pascal(Pa) 100
Atmosphere(atm) 0.000986923
Milibar(MBR) 1
Millimeters Mercury(mmHg) 0.750063755
Inch of Mercury(inHg) 0.02953
Torr(torr) 0.750061683
Pounds per square inch(psi) 0.014503774
Newtons per square meter(N/m^2) 100
میزان فشار بارومتریک با ارتفاع از سطح دریا رابطه معکوس تقریبا خطی دارد، بنابراین اگر بتوانیم فشار بارومتریک یک محیط را بخوانیم با انجام یک عملیات ساده ریاضی می توانیم ارتفاع آن محیط را نسبت به سطح دریا بسنجیم.

ویژگی‌های ماژول سنسور فشار بارومتریک BMP180

سنسور BMP180 سنسوری برای اندازه‌گیری فشار می‌باشد. این ماژول قابلیت اندازه‌گیری دما را نیز دارد.
مهمترین ویژگی‌های این ماژول در زیر آورده شده است:

  • محدوده فشار : 300 تا 1100hPa
  • قابلیت اندازه‌گیری دما
  • کاملا کالیبره
  • دقت اندازه گیری فشار: 0.01hPa
  • دقت اندازه گیری دما: 0.1 درجه سانتیگراد
  • پروتکل ارتباطی I2C

موارد کاربرد این ماژول:

  • گوشی های همراه
  • PDA
  • GPS
  • تجهیزات فضای باز
نکته

هر hPa برابر 100Pa می‌باشد.

معرفی پایه های (Pinout) ماژول سنسور فشار بارومتریک BMP180

ماژول فشار بارومتریک BMP180 دارای 4 پایه به شرح زیر است:

  • VIN: تغذیه ماژول
  • GND: زمین
  • SDA: پایه دیتا I2C
  • SCL: پایه کلاک I2C

پین اوت (Pinout) این ماژول را می‌توانید در تصویر زیر مشاهده کنید. 

لوازمی که به آن احتیاج دارید

قطعات مورد نیاز

آردوینو UNO R3 × 1
ماژول سنسور فشار بارومتریک BOSCH BMP180 × 1
سیم جامپر × 1

نرم افزارهای مورد نیاز

آردوینو IDE

راه اندازی ماژول سنسور فشار بارومتریک BMP180 با آردوینو

گام اول: سیم بندی

مطابق مدار زیر، ماژول را به آردوینو وصل کنید.

گام دوم: نصب کتابخانه

به Library manager رفته و  با سرچ  کلمه BMP085، کتابخانه‌ی Adafruit_BMP085_Unified را نصب کنید.

توجه

اگر برای نصب کتابخانه نیاز به راهنمایی بیشتر دارید، به اینجا مراجعه کنید.

گام سوم: کد

کد زیر را روی برد آردوینو آپلود کنید.

 /*
  GY-68-BMP180-Barometric-Pressure-Sensor-Module
  modified on 30 Dec 2020
  by Amir Mohammad Shojaee @ Electropeak
  https://electropeak.com/learn/

  Based on Adafruit  Example
*/

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP085_U.h>
   
Adafruit_BMP085_Unified bmp = Adafruit_BMP085_Unified(10085);

void setup(void) 
{
  Serial.begin(9600);
  Serial.println("Pressure Sensor Test"); Serial.println("");
    
  /* Initialise the sensor */
  if(!bmp.begin())
  {
    /* There was a problem detecting the BMP085 ... check your connections */
    Serial.print("Ooops, no BMP085 detected ... Check your wiring or I2C ADDR!");
    while(1);
  }
}

void loop(void) 
{
  /* Get a new sensor event */ 
  sensors_event_t event;
  bmp.getEvent(&event);
 
  /* Display the results (barometric pressure is measure in hPa) */
  if (event.pressure)
  {
    /* Display atmospheric pressue in hPa */
    Serial.print(" Pressure:    ");
    Serial.print(event.pressure);
    Serial.println(" hPa");

    float temperature;
    bmp.getTemperature(&temperature);
    Serial.print(" Temperature: ");
    Serial.print(temperature);
    Serial.println(" C");

    /* Convert the atmospheric pressure, and SLP to altitude         */
    /* Update this next line with the current SLP for better results      */
    float seaLevelPressure = SENSORS_PRESSURE_SEALEVELHPA;
    Serial.print(" Altitude:    "); 
    Serial.print(bmp.pressureToAltitude(seaLevelPressure,
                                        event.pressure)); 
    Serial.println(" m");
    Serial.println("");
  }
  else
  {
    Serial.println("Sensor error");
  }
  delay(1000);
}

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

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

آموزش های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد.