Site icon Teknikerler

Arduino Basınç Sensörü – Atmosfer Basıncı – Hava İstasyonu – Ders 49-

basinc_sensoru_49

basinc_sensoru_49

Atmosfer basıncı havanın soğuk yada sıcak olmasıyla doğrudan ilişkilidir. Hava durumu sunumlarında alçak hava basıncı ve yüksek hava basıncı terimlerini sıklıkla duyarız. Havanın basıncına göre soğuk yada sıcak hava akımları gelir.

Alçak Basınçlar;

Çevresine göre basınç değerlerinin düşük olduğu merkezlerdir. Havanın hareketi çevreden merkeze doğrudur. Kuzey yarım kürede saatin ters yönünde iken güney yarım kürede saat yönündedir. Alçak basınç alanlarında yükselici hava hareketleri etkilidir.

Yüksek Basınçlar;
Yüksek basıncın genel anlamı havanın düzeleceğini gösterir. Yüksek basıncın görüldüğü yerlerde hava genellikle açıktır ve yağış görülmez. Basınç farkına bağlı olarak rüzgarlar yüksek basınç alanlarından alçak basınç alanlarına doğru eser. Dünyadaki sürekli yüksek basınç alanları dünyanın en büyük çöl alanlarıdır.

bmp-180Hava basıncını arduino ile ölçmek için BMP 180 yada BMP 280 tercih edilebilir.

. Bu iki sensör ile atmosfer basıncını ölçebilen sensörlerdir.

Hava basıncı yerine sıvı yada gaz basıncı ölçmek için MS 5803 kullanılabilir.

bmp180_sema
//Görsel İşitsel Teknoloji Kanalı
//wwww.teknikerler.com
//Kerim Arı Youtube kanalı BMP 180 basınç Sensörleri Kodları  - kullanımı örnek Kodları



#include <SFE_BMP180.h> 
#include <Wire.h> 

SFE_BMP180 git; 

double basinc; 
#define rakim 1040.0 //Bulunduğunuz bölgenin deniz seviyesinden yüksekliği

void setup()
{
  Serial.begin(9600);
  if (git.begin())
    Serial.println("BMP180 Bağlanıldı");
  else
  {
    Serial.println("BMP180 Bağlanılamadı\n\n");
    while (1);
  }
  basinc = getPressure();

  Serial.print("Basınç: ");
  Serial.print(basinc);
  Serial.println(" mb");
}

void loop()
{
  double a, P;

  P = getPressure();
  a = git.altitude(P, basinc) + rakim;

  Serial.print("Yükseklik:");
  if (a >= 0.0) Serial.print(" ");
  Serial.print(a, 1);
  Serial.print("metre");
  Serial.print("\t \t");
  Serial.print("Basınç:");
  Serial.print(P, 1);
  Serial.print("hpa");
  Serial.print("\t \t");
  delay(1000);
}
double getPressure()
{
  char status;
  double T, P, p0, a;


  status = git.startTemperature();
  if (status != 0)
  {

    delay(status);
    status = git.getTemperature(T);
    if (status != 0)
    {
      Serial.print("Sıcaklık:");
      Serial.print(T, 2);
      Serial.println("C, ");
      status = git.startPressure(3);
      if (status != 0)
      {


        delay(status);



        status = git.getPressure(P, T);
        if (status != 0)
        {
          return (P);
        }

        else Serial.println("Basınç ölçümünde hata alındı\n");
      }

      else Serial.println("Basınç Ölçümü başlatılamadı\n");
    }

    else Serial.println("Sıcaklık değeri alınamadı\n");
  }

  else Serial.println("Sıcaklık ölçümü başlatılamadı\n");
}



Videoyu İzlemek İçin Tıklayınız Kütüphaneyi indirmek için TIKLAYINIZ

Exit mobile version