BME680 – Temperatuur, luchtvochtigheid, luchtdruk en luchtkwaliteit

De BME680 is een geavanceerde digitale sensor van Bosch die temperatuur, relatieve luchtvochtigheid, luchtdruk én luchtkwaliteit (gas) meet. Deze sensor is ideaal voor omgevingsmonitoring en klimaatregeling, en is zeer geschikt voor gebruik met een ESP32.

Specificaties

EigenschapWaarde
TypeDigitale 4-in-1 sensor
Voedingsspanning3.3V (soms 5V tolerant, afhankelijk van breakout board)
Temperatuurbereik-40 tot +85 °C
Luchtvochtigheid0 tot 100% RH
Luchtdruk300 tot 1100 hPa
Gasmeting (luchtkwaliteit)Tot 50000 Ω (indicatief)
CommunicatieI²C of SPI

Aansluitschema ESP32 – BME680 (I2C)

BME680ESP32
VIN3.3V
GNDGND
SCLGPIO 22
SDAGPIO 21
BME680 ESP32

De sensor gebruikt standaard het I2C-adres 0x76 of 0x77, afhankelijk van het board. Controleer de datasheet of gebruik een I2C-scanner.

Arduino-code voorbeeld

Installeer de bibliotheken Adafruit BME680 en Adafruit Sensor via de Library Manager.


#include 
#include 
#include "Adafruit_BME680.h"

Adafruit_BME680 bme; // I2C

void setup() {
  Serial.begin(115200);
  if (!bme.begin()) {
    Serial.println("Kan BME680 niet vinden!");
    while (1);
  }

  // Configuratie
  bme.setTemperatureOversampling(BME680_OS_8X);
  bme.setHumidityOversampling(BME680_OS_2X);
  bme.setPressureOversampling(BME680_OS_4X);
  bme.setGasHeater(320, 150); // 320°C voor 150 ms
}

void loop() {
  if (!bme.performReading()) {
    Serial.println("Fout bij uitlezen!");
    return;
  }

  Serial.print("Temperatuur: ");
  Serial.print(bme.temperature);
  Serial.println(" °C");

  Serial.print("Luchtvochtigheid: ");
  Serial.print(bme.humidity);
  Serial.println(" %");

  Serial.print("Druk: ");
  Serial.print(bme.pressure / 100.0);
  Serial.println(" hPa");

  Serial.print("Gasweerstand: ");
  Serial.print(bme.gas_resistance / 1000.0);
  Serial.println(" KΩ");

  delay(2000);
}

Toepassing in Home Assistant

De BME680 kan via ESPHome gekoppeld worden aan Home Assistant. Je kunt alle sensoren afzonderlijk uitlezen. Een voorbeeldconfiguratie:


i2c:
  sda: 21
  scl: 22
  scan: true

sensor:
  - platform: bme680
    temperature:
      name: "Woonkamer Temperatuur"
    pressure:
      name: "Woonkamer Luchtdruk"
    humidity:
      name: "Woonkamer Luchtvochtigheid"
    gas_resistance:
      name: "Woonkamer Gasweerstand"
    address: 0x76
    update_interval: 60s

Voor luchtkwaliteitsindex (IAQ) heb je aanvullende software nodig zoals bsec.

Opmerkingen