Arkadaşlar merhaba, bu yazımızda sizlerle beraber Arduino ile hava durumu istasyonu projesi yapacağız. Bu proje sayesinde anlık olarak hava durumu takip edebileceğiz.

BME 280 Sensörü Nedir?

Bu sensör ortamın sıcaklık, nem, basınç özeliklerini ölçebilir bu sayede hava durumu istasyonlarında kullanılabilir.

  • Besleme voltajı: 3.3V
  • I2C iletişim arayüzleri
  • Sıcaklık aralığı: -40C / 85C

Malzeme Listesi:

Arduino Hava Durumu İstasyonu Devre Şeması

arduino ile hava durumu istasyonu bme28

Projemizde kullandığımız 2×16 LCD ekran I2C modülü ile beraber gelmektedir. Bu sayede kablo kalabalığından kurtulup direkt olarak 4 kablo ile şemada göründüğü gibi ekran bağlantısı yapılabilmektedir.

Bağlantılarımızı yaptıktan sonra ise ilk olarak Arduino IDE uygulamamızı açıyoruz, daha sonra ise gerekli kütüphaneleri ekleyerek kodumuzu yazıyoruz.

Arduino ile Hava Durumu İstasyonu Kodları:

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
#include <LiquidCrystal_I2C.h>
#define SEALEVELPRESSURE_HPA (1013.25)

LiquidCrystal_I2C lcd(0x27,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display
Adafruit_BME280 bme; // I2C


void setup() {
    Serial.begin(9600);
    lcd.init();
    lcd.backlight();
    while(!Serial);  
    Serial.println(F("BME280 test"));

    unsigned status;
    
    status = bme.begin();  
    status = bme.begin(0x76, &Wire);
    if (!status) {
        Serial.println("Geçerli bir BME280 sensörü bulunamadı, kablolamayı, adresi, sensör kimliğini kontrol edin!");
        Serial.print("SensorID was: 0x"); Serial.println(bme.sensorID(),16);
        Serial.print("        0xFF kimliği muhtemelen kötü bir adres, BMP 180 veya BMP 085 anlamına gelir\n");
        Serial.print("   ID of 0x56-0x58 represents a BMP 280,\n");
        Serial.print("        ID of 0x60 represents a BME 280.\n");
        Serial.print("        ID of 0x61 represents a BME 680.\n");
        while (1) delay(10);
    }
    lcd.setCursor(0,0);
    lcd.print("  BME280 Sensor");
    lcd.setCursor(0,1);
    lcd.print("  with Arduino");
    
    Serial.println("-- Deneme Testi --");
    Serial.println();
    delay(2500);
}


void loop() { 
    printValues();
    delay(1000);
}


void printValues() {
    lcd.setCursor(0,0);
    lcd.print("Sc:");
    lcd.print(bme.readTemperature());
    //lcd.print(" *C");
    Serial.print("Sıcaklık = ");
    Serial.print(bme.readTemperature());
    Serial.println(" *C");

    lcd.print(" Nm:");
    lcd.print(bme.readHumidity());
    lcd.print("%");
    Serial.print("Nem = ");
    Serial.print(bme.readHumidity());
    Serial.println(" %");

    Serial.print("Basınç = ");
    Serial.print(bme.readPressure() / 100.0F);
    Serial.println(" hPa");
    lcd.setCursor(0,1);
    lcd.print(" Bas:");
    lcd.print(bme.readPressure() / 100.0F);
    lcd.print( "hPa");
    Serial.print("Yükseklik = ");
    Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA));
    Serial.println(" m");

    
    Serial.println();
}

Arduino ile hava istasyonu projemizi bu adımlar sayesinde gerçekleştirdik. Sorularınız olursa mutlaka yorum olarak yazın. İyi çalışmalar.. 🙂

5 YORUMLAR

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz