Havanın bir ağırlığı olduğunu biliyor muydunuz? Üzerimizdeki hava katmanının ağırlığına "Atmosfer Basıncı" denir. BMP180 sensörü bu basıncı o kadar hassas ölçer ki, masanın üzerinden yere koyduğunuzda bile yükseklik farkını (30-40cm) anlayabilir.

1. Yükseklik Nasıl Ölçülür?

Yukarı çıktıkça üzerimizdeki hava azalır, dolayısıyla basınç düşer. Bu sensör aslında bir terazi gibi havanın ağırlığını tartar. Basınç düşükse "Dağdayım", yüksekse "Deniz seviyesindeyim" der.

Yüksek Basınç Daha çok hava kütlesi Düşük Basınç Az hava kütlesi P = P0 * (1 - h/44330)^5.255 Barometrik Formül

2. Donanım ve Bağlantı

BMP180, tıpkı LCD ekran ve OLED ekran gibi I2C Protokolünü kullanır. Yani bağlantı çok basittir: SDA ve SCL.

🔌 Pin Bağlantıları (Uno)
  • VCC ➔ 3.3V veya 5V (Modül tipine göre*)
  • GND ➔ GND
  • SCL ➔ A5 (Saat Hattı)
  • SDA ➔ A4 (Veri Hattı)
*Dikkat: BMP180 çipi aslında 3.3V ile çalışır. Ancak modül (breakout board) üzerinde voltaj regülatörü varsa 5V'a bağlayabilirsiniz. Emin değilseniz 3.3V'a bağlamak en güvenlisidir.
BMP180

3. Yazılım (Adafruit BMP085)

🛠️ Kütüphane Kurulumu

Arduino IDE > Kütüphaneleri Yönet kısmına girin ve "Adafruit BMP085 Library" aratıp kurun. (BMP180, eski BMP085'in güncel halidir, kütüphane aynıdır).

Barometre_Altimetre.ino C++
#include <Wire.h>
#include <Adafruit_BMP085.h>

Adafruit_BMP085 bmp;

void setup() {
  Serial.begin(9600);
  
  // Sensörü Başlat
  if (!bmp.begin()) {
    Serial.println("BMP180 bulunamadi! Baglantilari kontrol et.");
    while (1) {} // Hata varsa dur
  }
}

void loop() {
  Serial.print("Sicaklik = ");
  Serial.print(bmp.readTemperature());
  Serial.println(" *C");
  
  Serial.print("Basinc = ");
  Serial.print(bmp.readPressure());
  Serial.println(" Pa");
  
  // Tahmini Yükseklik (Standart 1013.25 hPa'ya göre)
  Serial.print("Yukseklik = ");
  Serial.print(bmp.readAltitude());
  Serial.println(" metre");

  // Daha Hassas Yükseklik İçin:
  // Deniz seviyesindeki güncel basıncı (Meteorolojiden) buraya girin.
  // Örn: 101500 Pa
  // Serial.print(bmp.readAltitude(101500));

  Serial.println();
  delay(1000);
}
        

4. Basınç ile Hava Tahmini

Dijital Meteoroloji: Sadece anlık basınca bakarak hava durumunu tahmin edebilirsiniz.

  • 📈 Basınç Yükseliyorsa: Hava açıyor, güneşli olacak. ☀️
  • 📉 Basınç Düşüyorsa: Bulutlar geliyor, yağmur veya fırtına olabilir. ⛈️