BME680: Evinizdeki Havayı Kapsamlı Analiz Edin

Ortam Algılamada Son Nokta
Daha önce DHT serisi ile sıcaklık ve nemi, BME280 ile bunlara ek olarak basıncı ölçmeyi öğrendik. Peki, ya bulunduğunuz ortamın “kalitesini” ölçmek isteseydiniz? Boya kokuları, yemek buharı, nefesimizle yaydığımız bileşenler… İşte bu noktada, Bosch’un en gelişmiş sensörlerinden biri olan BME680 devreye giriyor.
BME680, tek bir kompakt pakette sıcaklık, nem, barometrik basınç ve en önemlisi Uçucu Organik Bileşikleri (VOC) algılayabilen bir gaz sensörünü birleştiren 4’ü 1 arada sensördür.
BME680’in En Önemli Özelliği: VOC ve Hava Kalitesi (IAQ)
BME680’i BME280’den ayıran temel fark “G” harfidir (Gas).
- Ne Ölçer? BME680, spesifik bir gazı (örneğin sadece Karbondioksit’i) ölçmez. Bunun yerine, VOC (Volatile Organic Compounds) olarak bilinen geniş bir Uçucu Organik Bileşik yelpazesini algılar.
- VOC Nedir? Bunlar; alkol, çözücüler (tiner, boya), yapıştırıcı kokuları, yemek pişirme buharları, mobilyalardan salınan kimyasallar ve hatta insan nefesi gibi kaynaklardan gelen gaz halindeki kirleticilerdir.
- Nasıl Çalışır? Sensörün içinde, belirli bir sıcaklığa (yaklaşık 320°C’ye) kadar ısıtılan minyatür bir “sıcak plaka” (hot plate) bulunur. Bu plakanın üzerindeki kimyasal katman, havadaki VOC’lerle reaksiyona girer ve sensörün elektriksel direncini değiştirir.
- Çıktı Nedir? BME680 size “gaz direnci” (Gas Resistance) olarak bir değer verir. Bu direnç ne kadar düşerse, ortamdaki VOC miktarı o kadar yoğundur, yani hava kalitesi o kadar düşüktür.
Bu gaz direnci, sıcaklık ve nem verileriyle birlikte kullanılarak IAQ (Indoor Air Quality – İç Mekan Hava Kalitesi) endeksi adı verilen bir skor hesaplanabilir.

Karşılaştırma: BME680 vs. BME280
| Özellik | BME280 | BME680 |
| Sıcaklık | Evet | Evet |
| Nem | Evet | Evet |
| Basınç | Evet | Evet |
| Gaz (VOC) | Hayır | Evet (VOC / IAQ) |
| Arayüz | I2C / SPI | I2C / SPI |
| Voltaj | 3.3V | 3.3V |
| Kullanım Yeri | Hava durumu, irtifa | Akıllı ev, hava kalitesi takibi |
Arduino ve Raspberry Pi ile Kullanımı
BME680’i kullanmak, bir BME280’den biraz daha karmaşıktır, ancak sonuçları buna değer.
- Bağlantı (I2C):
Sensör Pini ESP32 Pini Açıklama VCC 3.3V Güç girişi GND GND Topraklama SDA GPIO 21 I2C Veri Pini (Varsayılan) SCL GPIO 22 I2C Saat Pini (Varsayılan) - Önemli Kütüphane: Bosch BSEC Gaz direncinden anlamlı bir “Hava Kalitesi Endeksi (IAQ)” skoru (örn: 0-500 arası bir değer) elde etmek oldukça karmaşık bir algoritma gerektirir. Neyse ki Bosch, bu işi yapan BSEC (Bosch Sensortec Environmental Cluster) adında kapalı kaynak kodlu (ancak kullanımı ücretsiz) bir kütüphane sunmaktadır.Arduino IDE’si için, Adafruit’in BME680 kütüphanesini ve Bosch’un BSEC kütüphanesini birlikte kurmanız önerilir. BSEC kütüphanesi, sıcaklık ve nem verilerini de kullanarak gaz direncini kalibre eder ve size güvenilir bir IAQ puanı verir.
BME680 Kimler Kullanmalı?
BME680, basit bir sıcaklık ölçümünden fazlasını isteyenler içindir. Eğer;
- Akıllı bir ev sistemi kuruyorsanız,
- Odanızdaki havayı ne zaman havalandırmanız gerektiğini bilmek istiyorsanız,
- Bulunduğunuz ortamın genel “sağlığını” takip etmek istiyorsanız,
BME680, piyasadaki en kapsamlı ve kompakt çevresel sensörlerden biridir.

BME680’dan veri okuma ile ilgili örnek kodu aşağıya ekledim, kopyala yapıştır yaparak kodu ESP32’ye yükleyebilir ve sonuçları görebilirsiniz.
ESP32 (Arduino IDE) Örnek Kodu
Gerekli Kütüphaneler: “Adafruit BME680 Library” ve “Adafruit Unified Sensor”
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include "Adafruit_BME680.h"
#define SEALEVELPRESSURE_HPA (1013.25)
Adafruit_BME680 bme; // I2C
void setup() {
Serial.begin(115200);
Serial.println("BME680 Sensör Testi");
if (!bme.begin(0x76)) { // Adres 0x76 veya 0x77 olabilir
Serial.println("BME680 sensörü bulunamadı!");
while (1);
}
// Sensör ayarları
bme.setTemperatureOversampling(BME680_OS_8X);
bme.setHumidityOversampling(BME680_OS_2X);
bme.setPressureOversampling(BME680_OS_4X);
bme.setIIRFilterSize(BME680_FILTER_SIZE_3);
bme.setGasHeater(320, 150); // Gaz ısıtıcısını ayarla
}
void loop() {
if (!bme.performReading()) {
Serial.println("Okuma hatası!");
return;
}
Serial.print("Sıcaklık: "); Serial.print(bme.temperature); Serial.println(" *C");
Serial.print("Nem: "); Serial.print(bme.humidity); Serial.println(" %");
Serial.print("Basınç: "); Serial.print(bme.pressure / 100.0); Serial.println(" hPa");
Serial.print("Yaklaşık İrtifa: "); Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA)); Serial.println(" m");
Serial.print("Gaz Direnci: "); Serial.print(bme.gas_resistance / 1000.0); Serial.println(" KOhms");
Serial.println("---------------------------------");
delay(2000);
}
Eğer akıllı ev, IOT projeleri ile ilgili sorularınız veya yapmak istediğiniz bir projeniz varsa, yedek alma ve yedekten dönme planınız veya felaket kurtarma planınız yoksa, işletmeniz için nasıl bir Sunucu, Bilgisayar veya Kesintisiz Güç Kaynağı seçmeniz gerektiğini bilmiyorsanız danışmanlık hizmetlerimden faydalanmak isterseniz bana WhatsApp üzerinden ulaşabilirsiniz.
İlgili Yazılar:
- DS18B20 (Dijital Sıcaklık Sensörü)
- DHT11 / DHT22: Doğru Sıcaklık ve Nem Sensörünü Seçme Rehberi
- BME280: 3’ü 1 Arada Yüksek Hassasiyetli Ortam Sensörü
- ESP32-C3 Süper Mini Rehberi (2025) – Teknik Özellikler, Pinout & Arduino Uygulama
Sık Sorulan Sorular
- BME680, BME280’den daha mı iyidir?
“Daha iyi” olması ihtiyacınıza bağlıdır. Eğer sadece sıcaklık, nem ve basınç (irtifa/hava durumu) ile ilgileniyorsanız BME280 yeterlidir. Ancak bunlara ek olarak iç mekan hava kalitesini (VOC gazları) de ölçmek istiyorsanız, BME680 daha üstün bir seçenektir. - BME680 Karbondioksit (CO2) ölçer mi?
Hayır. Bu çok yaygın bir yanılgıdır. BME680, Uçucu Organik Bileşikleri (VOC) ölçer (boya, solvent, alkol, yemek kokuları vb.). Gerçek Karbondioksit (CO2) seviyelerini (nefesle verdiğimiz) ölçmek için MH-Z19 veya SCD30 gibi farklı teknoloji (genellikle NDIR) kullanan sensörlere ihtiyacınız vardır. - BME680 sensörü neden ısınıyor?
Bu normaldir. Gaz sensörünün çalışabilmesi için içindeki küçük metal plakanın yaklaşık 320°C’ye kadar ısınması gerekir. Bu ısı, çevredeki VOC gazlarıyla kimyasal reaksiyonun gerçekleşmesi için gereklidir. Bu nedenle sensör çalışırken dokunulduğunda ılık hissedilebilir. - BSEC Kütüphanesi nedir ve kullanmak zorunda mıyım?
BSEC, Bosch’un tescilli bir yazılım algoritmasıdır. Ham gaz direnci verisini alır; sıcaklık ve nem ile kalibre ederek size 0-500 arasında basit bir “IAQ (İç Mekan Hava Kalitesi) Endeksi” puanı verir. Kullanmak zorunda değilsiniz, ham gaz direncini okuyabilirsiniz, ancak anlamlı ve stabil bir hava kalitesi skoru için BSEC kütüphanesinin kullanılması şiddetle tavsiye edilir. - BME680’i 5V Arduino UNO ile doğrudan kullanabilir miyim?
Hayır, kullanamazsınız! BME680, 3.3V ile çalışan bir sensördür. 5V’luk bir Arduino’nun I2C pinlerine (SDA/SCL) doğrudan bağlarsanız sensöre kalıcı olarak hasar verirsiniz. Mutlaka 3.3V-5V arası çalışan bir lojik seviye dönüştürücü (logic level shifter) kullanmanız gerekir.




Henüz yorum yapılmamış.