Arduino ile BMP180 barometrik basınç sensörünün nasıl kullanılması

How to Use the BMP180 Barometric Pressure Sensor with Arduino

BMP180, I2C protokolü kullanılarak Arduino ile kolayca arayüzlenebilen yüksek hassasiyetli bir barometrik basınç ve sıcaklık sensörüdür. Hava durumu izleme, rakım ölçümleri ve IoT uygulamalarında yaygın olarak kullanılır. Bu öğretici, BMP180'i Arduino ile bağlama ve kullanma konusunda size rehberlik edecektir.


Ne İhtiyacınız Olacak

  1. BMP180 Sensör Modülü
  2. Arduino Kurulu (örn. UNO, Mega, Nano)
  3. Breadboard ve jumper telleri
  4. Arduino IDE kurulu bir bilgisayar

1. Adım: BMP180'i anlamak

BMP180 barometrik basınç ve sıcaklığı ölçer ve basınç okumalarına göre yüksekliği hesaplayabilir. I2C protokolünü kullanarak Arduino ile iletişim kurar.

BMP180 Pinout

Pin İşlev
Vin Güç kaynağı (3.3V/5V)
Gnd Zemin
SDA I2C veri hattı
Scl I2C saat çizgisi

Adım 2: BMP180'i Arduino'ya bağlama

BMP180'i bir Arduino Uno'ya nasıl bağlayacağınız aşağıda açıklanmıştır:

BMP180 PIN Arduino pimi
Vin 5V
Gnd Gnd
SDA A4
Scl A5

Not: Diğer Arduino panoları için, tahtanızın belgelerindeki I2C pimlerini doğrulayın (örneğin, Mega SDA ve SCL için 20 ve 21 numaralı pimleri kullanır).


Adım 3: Gerekli kütüphaneyi kurun

"Adafruit BMP085 Birleşik" kütüphanesi, BMP180 için tamamen uyumlu olduğu için kullanılabilir.

Kütüphaneyi yüklemek için adımlar:

  1. Arduino IDE'yi açın.
  2. Gidip gelmek Eskiz > Kütüphane ekleyin > Kütüphaneleri Yönetin.
  3. "Adafruit BMP085 Unified" ve tıklayın Düzenlemek.

4. Adım: Kodu yükleyin

İşte sıcaklık, basıncı okumak ve yüksekliği hesaplamak için örnek bir taslak:

#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
}

Adım 5: Kurulumu test edin

  1. Arduino'yu USB üzerinden bilgisayarınıza bağlayın.
  2. Arduino IDE'yi açın ve doğru seçin Pano Ve Liman altında Aletler menü.
  3. Kodu tıklayarak Arduino'ya yükleyin Yüklemek.
  4. Seri monitörü açın (Aletler > Seri monitör) ve baud hızını ayarlayın 9600.
  5. Seri monitörde görüntülenen basınç, sıcaklık ve yükseklik okumalarını gözlemleyin.

BMP180 uygulamaları

  1. Hava Durumu İzleme Sistemleri
  2. Drone ve havacılıkta yükseklik ölçümü
  3. IoT Çevresel İzleme
  4. Barometrik Basınç Verileri Günlüğü

Sorun giderme

  • Sensörden yanıt yok: Kabloları kontrol edin ve doğru I2C pimlerinin kullanıldığından emin olun.
  • Yanlış Okumalar: Sensörün aşırı çevresel koşullara maruz kalmadığını doğrulayın.
  • Kütüphane Hataları: "Adafruit BMP085 Birleşik" kütüphanesinin doğru şekilde yüklendiğinden emin olun.

Çözüm

BMP180 barometrik basınç sensörünü Arduino ile başarıyla arayüz ettiniz. Bu çok yönlü sensör, doğru basınç ve sıcaklık ölçümleri gerektiren projeler için idealdir. Veri kaydediciler, ekranlar veya IoT platformları ile entegre ederek daha da deneyin!

Yorum bırak

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.