آردوینو Arduino

راه اندازی سنسور BMP280 با آردوینو و پیش بینی وضعیت هوا

امروزه دسترسی به داده‌های محیطی مانند دما و فشار هوا، نه تنها برای هواشناسان، بلکه برای علاقه‌مندان به الکترونیک و اینترنت اشیا (IoT) نیز جذاب و امکان‌پذیر شده است. در این پست، با هم یاد می‌گیریم که چگونه با استفاده از یک سنسور کوچک و دقیق به نام BMP280، یک ایستگاه هواشناسی کوچک بسازیم و حتی تغییرات آب و هوا را پیش‌بینی کنیم.

ماژول سنسور فشار بارومتریک BOSCH BMP280

ماژول سنسور فشار بارومتریک BOSCH BMP280

لینک خرید

ماژول سنسور آب و هوا GY-BMP280 با پروتکل ارتباطی I2C

ماژول سنسور آب و هوا GY-BMP280 با پروتکل ارتباطی I2C

لینک خرید

 

معرفی سنسور BMP280

ماژول BMP280 یک سنسور دیجیتال فشار و دما است که توسط شرکت Bosch تولید شده و به دلیل دقت بالا و مصرف توان پایین، در بسیاری از پروژه‌های الکترونیکی و اینترنت اشیا استفاده می‌شود. این سنسور می‌تواند فشار هوا را در بازه 300 تا 1100 hPa اندازه‌گیری کند که مناسب برای محاسبه ارتفاع از سطح دریا تا حدود 9 کیلومتر است. همچنین قابلیت اندازه‌گیری دما را با دقت حدود ±1 درجه سانتی‌گراد دارد و از طریق پروتکل‌های I2C یا SPI به راحتی به انواع میکروکنترلرها متصل می‌شود.

BMP280 Sensor Parts

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

یکی از مهم‌ترین کاربردهای BMP280، استفاده به عنوان ارتفاع‌سنج (Altimeter) است. از آنجایی که فشار هوا با تغییر ارتفاع تغییر می‌کند، این سنسور می‌تواند ارتفاع تقریبی محل را با دقت حدود یک متر محاسبه کند. همچنین تغییرات فشار می‌تواند برای پیش‌بینی وضعیت هوا به کار رود، بنابراین این ماژول در ساخت ایستگاه‌های هواشناسی کوچک، پهپادها، بالن‌ها و دستگاه‌های قابل حمل کاربرد فراوان دارد.

مزایا در پروژه‌های IoT

به دلیل ابعاد کوچک، دقت بالا و مصرف انرژی پایین، سنسور BMP280 گزینه‌ای ایده‌آل برای پروژه‌های مبتنی بر اینترنت اشیا (IoT) است. می‌توان آن را در ترکیب با سنسورهایی مانند BME280 (که رطوبت را هم می‌سنجد) یا سنسورهای دما و رطوبت دیگر برای پایش محیط استفاده کرد. همچنین در ابزارهای پوشیدنی مانند ساعت‌های هوشمند، دستگاه‌های ورزشی و GPSها برای نمایش فشار و ارتفاع محیط به کار می‌رود و نقش مهمی در هوشمندسازی و پایش دقیق محیط ایفا می‌کند.

ویژگی‌های کلیدی BMP280:

  • اندازه‌گیری فشار هوا: محدوده‌ی 300 تا 1100 hPa (قابلیت استفاده از سطح دریا تا ارتفاع ۹ کیلومتری).
  • اندازه‌گیری دما: با دقت قابل قبول حدود ±1°C.
  • رابط‌های ارتباطی: پشتیبانی از پروتکل‌های I2C و SPI برای اتصال آسان به میکروکنترلرها.
  • مصرف توان بسیار پایین: ایده‌آل برای پروژه‌هایی که با باتری کار می‌کنند.
  • دقت بالا: دقت اندازه‌گیری فشار در حدود ±1 hPa که برای اندازه‌گیری ارتفاع، تقریباً معادل ±1 متر است.

 

لوازم مورد نیاز برای این پروژه

  • برد آردوینو (Uno, Nano, Mega) یا ESP32/ESP8266 (برای قابلیت وای‌فای)
  • سنسور BMP280 (ماژول معمولاً شامل پین‌های خروجی شده است)
  • بردبرد (Breadboard) و چند عدد سیم جامپر
  • کابل USB برای برنامه‌ریزی و تغذیه برد

Arduino BMP280 Project

نحوه اتصال سنسور BMP280 به آردوینو (از طریق I2C)

اتصال این سنسور بسیار ساده است. پایه‌های استاندارد رابط I2C در آردوینو به شرح زیر هستند:

پایه سنسور BMP280 پایه آردوینو
VCC (یا Vin) 3.3V
GND GND
SCL A5 (یا پین SCL در بردهای جدید)
SDA A4 (یا پین SDA در بردهای جدید)

BMP280 Pin Description

نصب کتابخانه و کدنویسی

برای تعامل با سنسور، به یک کتابخانه نیاز داریم. کتابخانه Adafruit_BMP280 یکی از بهترین‌هاست.

برد آردوینو Arduino UNO R3 CH340 با ورودی USB Type-C

برد آردوینو Arduino UNO R3 CH340 با ورودی USB Type-C

لینک خرید

برد آردوینو Arduino Uno R4 Minima

برد آردوینو Arduino Uno R4 Minima

لینک خرید

 

  1. نصب کتابخانه: در محیط آردوینو IDE، به مسیر Sketch > Include Library > Manage Libraries… بروید. سپس در کادر جستجو، Adafruit BMP280 را تایپ کنید و آن را نصب کنید. در حین نصب، از شما برای نصب کتابخانه‌های وابسته (Adafruit Sensor) نیز سؤال می‌شود که باید آن را هم تأیید کنید.
  2. کد پایه برای خواندن دما و فشار:

پس از آپلود کد، Serial Monitor را باز کنید (مطمئن شوید Baud Rate روی 9600 است). حالا باید داده‌های دما و فشار را به صورت زنده مشاهده کنید.

 

چگونه از داده‌های فشار برای پیش‌بینی آب و هوا استفاده کنیم؟

اینجاست که پروژه جذاب می‌شود! تغییرات فشار هوا، نه مقدار مطلق آن، کلید پیش‌بینی آب‌وهوا در کوتاه‌مدت است.

  • فشار بالا و ثابت: معمولاً نشان‌دهنده هوای آفتابی و پایدار است.
  • فشار پایین و ثابت: معمولاً نشان‌دهنده هوای ابری و بارانی است.
  • کاهش تدریجی یا سریع فشار: نشان‌دهنده بدتر شدن هوا و احتمال بارش یا وزش باد شدید است.
  • افزایش تدریجی یا سریع فشار: نشان‌دهنده بهتر شدن هوا و آفتابی شدن است.

افزودن منطق پیش‌بینی به کد

می‌توانیم کد خود را گسترش دهیم تا روند فشار را تحلیل کند و یک پیش‌بینی ساده ارائه دهد.

🚀 ارتقای پروژه: نمایش داده‌ها روی نمایشگر OLED دو رنگ

برای تکمیل ایستگاه هواشناسی مبتنی بر سنسور BMP280، می‌توانید داده‌های محیطی را به صورت زنده و گرافیکی روی یک نمایشگر OLED 0.96 اینچی دو رنگ (زرد-آبی) نمایش دهید.

ماژول OLED 0.96 دو رنگ زرد-آبی دارای رابط I2C و SPI

ماژول OLED 0.96 دو رنگ زرد-آبی دارای رابط I2C و SPI

لینک خرید

ماژول OLED 0.96 SPI دو رنگ زرد-آبی

ماژول OLED 0.96 SPI دو رنگ زرد-آبی

لینک خرید

 

چرا OLED؟

  • کیفیت بالا: وضوح عالی (۱۲۸x64 پیکسل) و زاویه دید بسیار wide.
  • مصرف پایین: انرژی بسیار کمی مصرف می‌کند؛ مناسب برای پروژه‌های باتری‌خور.
  • رابط‌های متنوع: پشتیبانی از هر دو پروتکل I2C و SPI برای انعطاف‌پذیری در اتصال.
  • نمایش دو رنگ: بخش بالایی (زرد) برای داده‌های مهم مانند هشدار یا دما، و بخش پایینی (آبی) برای اطلاعات دیگر مانند فشار و رطوبت.

اتصال و راه‌اندازی:

  1. ماژول OLED را از طریق I2C ( تنها ۴ سیم: VCC, GND, SDA, SCL) به میکروکنترلر متصل کنید.
  2. از کتابخانه‌های Adafruit_SSD1306 و Adafruit_GFX در Arduino IDE استفاده کنید.
  3. با چند خط کد ساده، می‌توانید مقادیر دما و فشار را که از سنسور BMP280 خوانده می‌شود، به صورت Real-Time روی صفحه نمایش دهید.

اتصال به آردوینو (از طریق I2C):

پایه OLED پایه آردوینو
VCC 3.3V
GND GND
SDA A4
SCL A5

سنسور BMP280 نیز به همین پین‌های I2C (A4, A5) متصل می‌شود.

کد لازم:

نکات مهم:

  1. کتابخانه‌های مورد نیاز را نصب کنید:
    • Adafruit SSD1306
    • Adafruit GFX
    • Adafruit BMP280
  2. آدرس I2C ماژول OLED معمولاً 0x3C است
  3. برای نمایشگرهای دو رنگ، از SSD1306_WHITE برای متن استفاده کنید
  4. می‌توانید با توابع setCursor موقعیت نمایش اطلاعات را تنظیم کنید

 

نوشته های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا