يعد BMP280 مستشعرًا عالي الدقة يقيس الضغط البارومتري ودرجة الحرارة والارتفاع. يتم استخدامه على نطاق واسع في محطات الطقس ، ومتتبعات الارتفاع ، وأجهزة إنترنت الأشياء بسبب دقتها وخيارات اتصال I2C/SPI. سوف يرشدك هذا البرنامج التعليمي من خلال الاتصال واستخدام BMP280 مع Arduino.
ماذا ستحتاج
- وحدة استشعار BMP280
- لوحة Arduino (على سبيل المثال ، UNO ، Mega ، Nano)
- الأسلاك الأسلاك والبلوز
- جهاز كمبيوتر مع Arduino IDE مثبت
الخطوة 1: فهم BMP280
يدعم مستشعر BMP280 كل من الاتصالات I2C و SPI. معظم لوحات الاختراق الافتراضية لوضع I2C ، والذي يتطلب عدد أقل من الأسلاك.
BMP280 Pinout
دبوس | وظيفة |
---|---|
VCC | مزود الطاقة (3.3V أو 5V) |
GND | أرضي |
SCL | خط الساعة I2C |
SDA | خط بيانات I2C |
CSB | Chip Select for SPI (اختياري) |
SDO | SPI Data Out/I2C اختيار عنوان |
-
ملحوظة: لاتصال I2C ، الاتصال
SDO
إلى GND للعنوان الافتراضي (0x76
) أو إلى VCC ل0x77
.
الخطوة 2: توصيل BMP280 إلى Arduino
فيما يلي كيفية توصيل BMP280 بأردوينو UNO في وضع I2C:
BMP280 دبوس | دبوس أردوينو |
---|---|
VCC | 5V |
GND | GND |
SCL | A5 |
SDA | A4 |
ملحوظة: بالنسبة إلى لوحات Arduino الأخرى ، تحقق من دبابيس I2C المحددة في وثائق مجلس الإدارة.
الخطوة 3: تثبيت المكتبة المطلوبة
تجعل مكتبة "Adafruit BMP280" من السهل الواجهة مع المستشعر.
خطوات لتثبيت المكتبة:
- افتح Arduino IDE.
- اذهب إلى رسم > تشمل المكتبة > إدارة المكتبات.
- ابحث عن "Adafruit BMP280" وانقر فوق ثَبَّتَ.
- أيضًا ، قم بتثبيت مكتبة "Adafruit Unified Sensor" إذا تم المطالبة بها.
الخطوة 4: تحميل الرمز
إليك مثال على مثال لقراءة درجة الحرارة والضغط والارتفاع من BMP280:
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>
Adafruit_BMP280 bmp; // Create BMP280 object
void setup() {
Serial.begin(9600);
while (!Serial);
Serial.println("BMP280 Sensor Test");
if (!bmp.begin(0x76)) { // Default I2C address is 0x76
Serial.println("Could not find a valid BMP280 sensor, check wiring!");
while (1);
}
}
void loop() {
Serial.print("Temperature: ");
Serial.print(bmp.readTemperature());
Serial.println(" °C");
Serial.print("Pressure: ");
Serial.print(bmp.readPressure() / 100.0F); // Convert to hPa
Serial.println(" hPa");
Serial.print("Approx. Altitude: ");
Serial.print(bmp.readAltitude(1013.25)); // Standard sea level pressure in hPa
Serial.println(" m");
Serial.println();
delay(2000); // Wait for 2 seconds before the next reading
}
الخطوة 5: اختبار الإعداد
- قم بتوصيل Arduino بجهاز الكمبيوتر الخاص بك عبر USB.
- افتح Arduino IDE وحدد الصحيح سبورة و ميناء تحت أدوات قائمة طعام.
- قم بتحميل الرمز إلى Arduino بالنقر فوق رفع.
- افتح الشاشة التسلسلية (أدوات > المراقبة التسلسلية) وتعيين معدل باود
9600
. - مراقبة درجة الحرارة والضغط والارتفاع المعروضة في الشاشة التسلسلية.
تطبيقات BMP280
- محطات الطقس
- قياس الارتفاع في الطائرات بدون طيار
- IOT المراقبة البيئية
- التنقل القائم على الضغط البارومتري
استكشاف الأخطاء وإصلاحها
- لا استجابة من المستشعر: تحقق من الأسلاك المزدوجة وتأكد من أن عنوان I2C يطابق الإعداد.
- قراءات غير صحيحة: تأكد من عدم تعرض المستشعر للظروف البيئية المتطرفة أو اضطرابات تدفق الهواء.
- أخطاء المكتبة: تحقق من تثبيت مكتبة "Adafruit BMP280" بشكل صحيح.
خاتمة
لقد نجحت في ربط مستشعر BMP280 مع Arduino ، مما يتيح قياسات دقيقة لدرجة الحرارة والضغط والارتفاع. هذا المستشعر متعدد الاستخدامات مثالي لمجموعة متنوعة من التطبيقات ، من مراقبة الطقس إلى التنقل بدون طيار. قم بتجربة أكثر من خلال دمج BMP280 مع سجلات البيانات أو العروض أو منصات إنترنت الأشياء للمشاريع المتقدمة!