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

فهرست مطالب

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

ماژول فشار بارومتریک BMP280 با اندازه کوچک خود توانایی خوبی در اندازه‌گیری فشار دارد. سنسور BMP280 به علت داشتن ابعاد کوچک و مصرف انرژی پایین، برای دستگاه‌هایی مانند موبایل، GPS و یا ساعت مناسب است.   
مهمترین ویژگی‌های این ماژول عبارت‌اند از :

  • محدوده فشار : 300 تا 1100hPa
  • قابلیت اندازه‌گیری دما
  • دقت اندازه گیری فشار: 12hPa
  • پشتیبانی از پروتکل ارتباطی I2C تا 3.4 مگاهرتز
  • پشتیبانی از پروتکل ارتباطی SPI تا 10 مگاهرتز

موارد کاربرد این ماژول عبارت‌اند از:

  • موقعیت یابی داخلی
  • پیش‌بینی آب وهوا
  • شاخص سرعت عمودی
  • GPS
  • تجهیزات فضای باز
نکته

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

دیتاشیت سنسور BMP280 را می‌توانید از اینجا دانلود کنید.

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

ماژول BMP280 دارای 6 پایه به شرح زیر است:

  • VCC: تغذیه ماژول
  • GND: زمین
  • SDA: پایه دیتا I2C
  • SCL: پایه کلاک I2C
  • CSB: پایه انتخاب قطعه
  • SDO: پایه سریال دیتا
نکته

در پروتکل I2C، از دو پایه SDA و SCL استفاده می‌کنیم و در پروتکل SPI از هر 4 پایه بهره می‌بریم.

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

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

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

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

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

آردوینو IDE

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

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

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

توجه

در این آموزش از پروتکل I2C استفاده کرده‌ایم. بنابراین دو پین SDA و SCL را جهت راه‌اندازی ماژول به کار می‌بریم. 

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

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

توجه

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

گام سوم: کد

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

  /*
  BMP280-Barometric-Pressure-Sensor-Module
  modified on 05 Jan 2021
  by Amir Mohammad Shojaee @ Electropeak
  
Home
Based on Adafruit Example */ #include <Wire.h> #include <SPI.h> #include <Adafruit_BMP280.h> #define BMP_SCK (13) #define BMP_MISO (12) #define BMP_MOSI (11) #define BMP_CS (10) Adafruit_BMP280 bmp; // I2C //Adafruit_BMP280 bmp(BMP_CS); // hardware SPI //Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO, BMP_SCK); void setup() { Serial.begin(9600); Serial.println(F("BMP280 test")); if (!bmp.begin()) { Serial.println(F("Could not find a valid BMP280 sensor, check wiring!")); while (1); } /* Default settings from datasheet. */ bmp.setSampling(Adafruit_BMP280::MODE_NORMAL, /* Operating Mode. */ Adafruit_BMP280::SAMPLING_X2, /* Temp. oversampling */ Adafruit_BMP280::SAMPLING_X16, /* Pressure oversampling */ Adafruit_BMP280::FILTER_X16, /* Filtering. */ Adafruit_BMP280::STANDBY_MS_500); /* Standby time. */ } void loop() { Serial.print(F("Temperature = ")); Serial.print(bmp.readTemperature()); Serial.println(" *C"); Serial.print(F("Pressure = ")); Serial.print(bmp.readPressure()); Serial.println(" Pa"); Serial.print(F("altitude = ")); Serial.print(bmp.readAltitude(1013.25)); /* Adjusted to local forecast! */ Serial.println(" m"); Serial.println(); delay(2000); }

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

توجه

این برنامه برای هر دو پروتکل I2C و SPI نوشته شده‌است.

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

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

Comments (2)

  • علی Reply

    نویسنده مطلب کلا فراموش کرده در مورد pull up کردن دو خط i2c بنویسه در نتیجه با این آموزش نتیجه نخواهید گرفت.

    ژوئن 2, 2023 at 6:20 ب.ظ
    • محمد دمیرچی Reply

      با سلام
      اکثر ماژول های I2C به صورت داخلی مقاومت های pull-up را قرار داده اند.
      در این ماژول نیز توجه کنید 2 عدد مقاومت برای همین موضوع استفاده شده است.
      امکان دارد ماژولی همراه قطعه خود دارید استفاده میکنید که باعث نویز شده است. یا در سمت میکرو شما اشکال جزعی به وجود آماده است که این اتفاق برایش افتاده است. و با قرار دادن مقاومت اضافه مشکل شما را حل میکند.

      ژوئن 3, 2023 at 10:09 ق.ظ

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

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