Arduino Projeleri

Arduino ile Dijital Ortam İstasyonu: Sıcaklık, Nem ve Basınç Ölçer Yapımı

Arduino Uno ve BME280 sensörünü birleştirerek eviniz veya laboratuvarınız için kendi dijital ortam istasyonunuzu kurun; sıcaklık, nem ve basınç verilerini I2C üzerinden okuyup anlık olarak takip edin.

Robotik Kodlama ve ROS Eğitimi Görseli

1Neden BME280 Sensörünü Seçiyoruz?

Çevre koşullarını takip etmek, robotik ve otomasyon projelerinin temelini oluşturur. BME280, piyasada bulunan diğer sensörlere (örneğin DHT serisi veya BMP180) göre üç temel çevresel veriyi tek bir küçük pakette sunarak karmaşıklığı azaltır. Ayrıca I2C haberleşme protokolü sayesinde, Arduino'da sadece iki dijital pin kullanarak veri alışverişi yapılabilir; bu da daha karmaşık projeler için fazladan pin bırakır.

3'ü 1 Arada ÖlçümSıcaklık, nem ve basıncı tek bir modülden, tek seferde okuyun.
Sade I2C BağlantısıSadece SDA ve SCL pinleriyle çalışır, diğer pinleriniz boşta kalır.
Yüksek HassasiyetBosch'un endüstriyel sınıf sensör teknolojisiyle güvenilir veri.

2Gerekli Malzemeler

Projenizi tamamlamak için ihtiyacınız olan temel bileşenler şunlardır:

Arduino UnoVeya uyumlu bir kart.
Bosch BME280 ModülüBarometrik basınç, nem ve sıcaklık sensörü.
Jumper Kabloları4 adet, bileşenler arası bağlantı için.
Breadboardİsteğe bağlı, bağlantı kolaylığı için.

3Devre Kurulumu (Donanım Bağlantısı)

BME280 sensörü I2C protokolünü kullandığı için, bağlantı son derece basittir. Arduino Uno'da I2C (Wire) haberleşmesi için özel pinler A4 (SDA) ve A5 (SCL)'dir.

Arduino 5V GND A4 (SDA) A5 (SCL) BME280 VCC GND SDA SCL

Arduino ile BME280 sensörü arasındaki I2C bağlantı şeması

V
VCC (Güç)Arduino'daki 5V pinine
G
GND (Toprak)Arduino'daki GND pinine
D
SDA (Data)Arduino'daki Analog 4 (A4) pinine
C
SCL (Clock)Arduino'daki Analog 5 (A5) pinine

Önemli Not

Arduino Uno'da I2C (Wire) haberleşmesi için özel pinler A4 (SDA) ve A5 (SCL)'dir. Bu pinleri başka bir amaçla kullanmayın.

Robotik dünyasına adım atmak için ilk adımı atın!

Eğitim materyallerimizi ve projelerimizi keşfederek hemen öğrenmeye başlayın. Blok tabanlı kodlamaya başlayın.

Başla

4Arduino Kodlama (C++)

BME280'den veri okumak için Wire.h kütüphanesine ek olarak, kullanımı kolaylaştıran Adafruit BME280 Kütüphanesi'ni kullanacağız. Bu kütüphaneyi Arduino IDE'nin Kütüphane Yöneticisi'nden (Library Manager) indirip kurmalısınız.

ortam_istasyonu.ino
#include <Wire.h>
#include <Adafruit_BME280.h>

// I2C adresi (Çoğu BME280 modülü 0x76 kullanır. Sizinki 0x77 ise değiştirin.)
#define BME_ADDRESS 0x76

Adafruit_BME280 bme; // BME280 sensör objesi

void setup() {
  Serial.begin(9600);
  Serial.println(F("BME280 Ortam İstasyonu Başlatılıyor..."));

  if (!bme.begin(BME_ADDRESS)) {
    Serial.println(F("BME280 bulunamadı! Bağlantıları kontrol edin."));
    while (1);
  }

  Serial.println(F("Sensör başarıyla başlatıldı."));
}

void loop() {
  // Sensör verilerini okuma
  float sicaklik = bme.readTemperature();
  float basinç = bme.readPressure() / 100.0F; // Pascal'ı Hektopaskal'a (hPa) çeviriyoruz
  float nem = bme.readHumidity();

  // Verileri Seri Port'a yazdırma
  Serial.print(F("Sıcaklık: "));
  Serial.print(sicaklik);
  Serial.print(F(" °C"));

  Serial.print(F(" | Nem: "));
  Serial.print(nem);
  Serial.print(F(" %"));

  Serial.print(F(" | Basınç: "));
  Serial.print(basinç);
  Serial.println(F(" hPa"));

  delay(2000); // 2 saniyede bir veri oku
}

Kodu Arduino kartınıza yükledikten sonra, Arduino IDE'deki Seri Port Ekranını (Serial Monitor) açarak verileri anlık olarak görebilirsiniz. Bağlantı hızının (9600 Baud) kodda belirtilen hızla aynı olduğundan emin olun.

5Veri Görselleştirme ve İleri Geliştirmeler

Sadece sayısal verilerle yetinmek istemiyorsanız, bu projeyi bir adım öteye taşıyabilirsiniz:

  • Grafiksel Takip: Arduino IDE'nin sağ üst köşesindeki Seri Çizici (Serial Plotter) özelliğini kullanarak sıcaklık, nem ve basınç değişimlerini zaman içinde görsel olarak takip edebilirsiniz.
  • LCD Ekran Ekleme: Ölçülen değerleri bilgisayar yerine 16x2 LCD veya OLED ekran üzerine yazdırarak projenizi tamamen taşınabilir bir cihaza dönüştürebilirsiniz.
  • IoT (Nesnelerin İnterneti): ESP8266 veya ESP32 gibi Wi-Fi özellikli bir kart kullanarak, verileri internet üzerinden (örneğin ThingSpeak platformuna) gönderip, cep telefonunuzdan anlık hava durumu takibi yapabilirsiniz.

Bu temel proje, meteoroloji, çevre izleme veya akıllı ev otomasyonu gibi daha büyük projelere geçiş için harika bir başlangıç noktasıdır.

?Sıkça Sorulan Sorular

BME280 sensörü hangi I2C adresini kullanır?

Çoğu BME280 modülü varsayılan olarak 0x76 adresini kullanır, ancak bazı kartlarda bu adres 0x77 olabilir. Sensör bulunamıyorsa kod içindeki BME_ADDRESS değerini değiştirerek diğer adresi deneyin.

BME280 ile DHT11/DHT22 arasındaki fark nedir?

DHT serisi sadece sıcaklık ve nem ölçerken, BME280 aynı zamanda barometrik basıncı da ölçer ve I2C protokolü sayesinde daha hızlı, daha hassas ve daha az pin kullanan bir okuma sunar.

Arduino Uno'da I2C bağlantısı için hangi pinler kullanılır?

Arduino Uno'da I2C haberleşmesi için sabit pinler kullanılır: veri hattı için Analog 4 (A4), saat sinyali için Analog 5 (A5) pini kullanılır.

Robotik dünyasına adım atmak için ilk adımı atın!

Eğitim materyallerimizi ve projelerimizi keşfederek hemen öğrenmeye başlayın. Blok tabanlı kodlamaya başlayın.

Başla