يعد BMP180 عبارة عن مستشعر الضغط البارومتري عالي الدقة يمكن ربطه بسهولة مع Arduino باستخدام بروتوكول I2C. يستخدم على نطاق واسع في مراقبة الطقس ، وقياسات الارتفاع ، وتطبيقات إنترنت الأشياء. سيوجهك هذا البرنامج التعليمي من خلال الاتصال واستخدام BMP180 مع Arduino.
ماذا ستحتاج
- وحدة استشعار BMP180
- لوحة Arduino (على سبيل المثال ، UNO ، Mega ، Nano)
- الأسلاك الأسلاك والبلوز
- جهاز كمبيوتر مع 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 لأنها متوافقة تمامًا.
خطوات لتثبيت المكتبة:
- افتح Arduino IDE.
- اذهب إلى رسم > تشمل المكتبة > إدارة المكتبات.
- ابحث عن "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: اختبار الإعداد
- قم بتوصيل Arduino بجهاز الكمبيوتر الخاص بك عبر USB.
- افتح Arduino IDE وحدد الصحيح سبورة و ميناء تحت أدوات قائمة طعام.
- قم بتحميل الرمز إلى Arduino بالنقر فوق رفع.
- افتح الشاشة التسلسلية (أدوات > المراقبة التسلسلية) وتعيين معدل باود
9600
. - مراقبة الضغط ودرجة الحرارة والارتفاع المعروضة في الشاشة التسلسلية.
تطبيقات BMP180
- أنظمة مراقبة الطقس
- قياس الارتفاع في الطائرات بدون طيار والطيران
- IOT المراقبة البيئية
- تسجيل بيانات الضغط البارومتري
استكشاف الأخطاء وإصلاحها
- لا استجابة من المستشعر: تحقق من الأسلاك وتأكد من استخدام دبابيس I2C الصحيحة.
- قراءات غير صحيحة: تحقق من أن المستشعر لا يتعرض لظروف بيئية متطرفة.
- أخطاء المكتبة: تأكد من تثبيت مكتبة "Adafruit BMP085 الموحدة" بشكل صحيح.
خاتمة
لقد نجحت في ربط مستشعر الضغط البارومتري BMP180 مع Arduino. هذا المستشعر متعدد الاستخدامات مثالي للمشاريع التي تتطلب قياسات دقيقة للضغط ودرجة الحرارة. قم بتجربة المزيد من خلال دمجها مع سجلات البيانات أو العروض أو منصات إنترنت الأشياء!