كيفية استخدام مستشعر الضغط البارومتري BMP180 مع Arduino

How to Use the BMP180 Barometric Pressure Sensor with Arduino

يعد BMP180 عبارة عن مستشعر الضغط البارومتري عالي الدقة يمكن ربطه بسهولة مع Arduino باستخدام بروتوكول I2C. يستخدم على نطاق واسع في مراقبة الطقس ، وقياسات الارتفاع ، وتطبيقات إنترنت الأشياء. سيوجهك هذا البرنامج التعليمي من خلال الاتصال واستخدام BMP180 مع Arduino.


ماذا ستحتاج

  1. وحدة استشعار BMP180
  2. لوحة Arduino (على سبيل المثال ، UNO ، Mega ، Nano)
  3. الأسلاك الأسلاك والبلوز
  4. جهاز كمبيوتر مع Arduino IDE مثبت

الخطوة 1: فهم BMP180

يقيس BMP180 ضغط ودرجة حرارة BAMP180 ويمكن أن يحسب الارتفاع بناءً على قراءات الضغط. يتواصل مع Arduino باستخدام بروتوكول I2C.

BMP180 Pinout

دبوس وظيفة
فين مزود الطاقة (3.3V/5V)
GND أرضي
SDA خط بيانات I2C
SCL خط الساعة I2C

الخطوة 2: توصيل BMP180 إلى Arduino

إليك كيفية توصيل BMP180 بأردوينو UNO:

BMP180 دبوس دبوس أردوينو
فين 5V
GND GND
SDA A4
SCL A5

ملحوظة: بالنسبة إلى لوحات Arduino الأخرى ، تحقق من دبابيس I2C في وثائق مجلس الإدارة (على سبيل المثال ، يستخدم Mega دبابيس 20 و 21 لـ SDA و SCL).


الخطوة 3: تثبيت المكتبة المطلوبة

يمكن استخدام مكتبة "Adafruit BMP085 Unified" في BMP180 لأنها متوافقة تمامًا.

خطوات لتثبيت المكتبة:

  1. افتح Arduino IDE.
  2. اذهب إلى رسم > تشمل المكتبة > إدارة المكتبات.
  3. ابحث عن "Adafruit BMP085 Unified" وانقر فوق ثَبَّتَ.

الخطوة 4: تحميل الرمز

إليك مثال على مثال لقراءة درجة الحرارة والضغط وحساب الارتفاع:

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP085_U.h>

Adafruit_BMP085_Unified bmp = Adafruit_BMP085_Unified(10085);

void setup() {
  Serial.begin(9600);
  Serial.println("BMP180 Sensor Test");

  if (!bmp.begin()) {
    Serial.print("Could not find a valid BMP180 sensor, check wiring!");
    while (1);
  }
}

void loop() {
  sensors_event_t event;
  bmp.getEvent(&event);

  if (event.pressure) {
    // Display pressure
    Serial.print("Pressure: ");
    Serial.print(event.pressure);
    Serial.println(" hPa");

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

    // Calculate altitude
    float seaLevelPressure = 1013.25; // hPa
    Serial.print("Altitude: ");
    Serial.print(bmp.pressureToAltitude(seaLevelPressure, event.pressure));
    Serial.println(" m");
    Serial.println();
  } else {
    Serial.println("Sensor error!");
  }

  delay(2000); // Wait 2 seconds before the next reading
}

الخطوة 5: اختبار الإعداد

  1. قم بتوصيل Arduino بجهاز الكمبيوتر الخاص بك عبر USB.
  2. افتح Arduino IDE وحدد الصحيح سبورة و ميناء تحت أدوات قائمة طعام.
  3. قم بتحميل الرمز إلى Arduino بالنقر فوق رفع.
  4. افتح الشاشة التسلسلية (أدوات > المراقبة التسلسلية) وتعيين معدل باود 9600.
  5. مراقبة الضغط ودرجة الحرارة والارتفاع المعروضة في الشاشة التسلسلية.

تطبيقات BMP180

  1. أنظمة مراقبة الطقس
  2. قياس الارتفاع في الطائرات بدون طيار والطيران
  3. IOT المراقبة البيئية
  4. تسجيل بيانات الضغط البارومتري

استكشاف الأخطاء وإصلاحها

  • لا استجابة من المستشعر: تحقق من الأسلاك وتأكد من استخدام دبابيس I2C الصحيحة.
  • قراءات غير صحيحة: تحقق من أن المستشعر لا يتعرض لظروف بيئية متطرفة.
  • أخطاء المكتبة: تأكد من تثبيت مكتبة "Adafruit BMP085 الموحدة" بشكل صحيح.

خاتمة

لقد نجحت في ربط مستشعر الضغط البارومتري BMP180 مع Arduino. هذا المستشعر متعدد الاستخدامات مثالي للمشاريع التي تتطلب قياسات دقيقة للضغط ودرجة الحرارة. قم بتجربة المزيد من خلال دمجها مع سجلات البيانات أو العروض أو منصات إنترنت الأشياء!

اترك تعليقًا

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.