Zpět na články

ESP32 + BME680 – měření prostředí (teplota, vlhkost, tlak, kvalita vzduchu)

ESP32 s BME680 měří teplotu, vlhkost, tlak a kvalitu vzduchu v jednom senzoru.

ESP32 + BME680 – měření prostředí (teplota, vlhkost, tlak, kvalita vzduchu)

BME680 je multifunkční senzor od Bosch, který dokáže měřit:

  • teplotu
  • vlhkost
  • atmosférický tlak
  • kvalitu vzduchu (VOC – těkavé organické látky)

Je ideální pro projekty jako:

  • meteostanice
  • smart home
  • monitoring prostředí
ESP32 Blog image

Hlavní vlastnosti (převedeno z tabulky)

  • napájení: 3.3 V
  • komunikace: I2C nebo SPI
  • rozsah teploty: −40 až +85 °C
  • rozsah vlhkosti: 0–100 %
  • rozsah tlaku: cca 300–1100 hPa
  • obsahuje plynový senzor (pro kvalitu vzduchu)
ESP32 Blog image

Pinout (převedeno do seznamu)

  • VIN → napájení
  • GND → zem
  • SCL → I2C clock
  • SDA → I2C data
  • SDO → nastavení adresy
  • CS → SPI select

Zapojení k ESP32 (I2C)

  • VCC → 3.3 V
  • GND → GND
  • SDA → GPIO 21
  • SCL → GPIO 22
ESP32 Blog image

Co potřebuješ

  • ESP32
  • BME680 modul
  • propojovací vodiče
  • Arduino IDE

Instalace knihoven

Nainstaluj:

  • Adafruit BME680
  • Adafruit Unified Sensor
ESP32 Blog image
ESP32 Blog image

Kompletní kód (měření všech hodnot)

bme.cpp
1#include <Wire.h> 2#include <Adafruit_Sensor.h> 3#include <Adafruit_BME680.h> 4 5#define SEALEVELPRESSURE_HPA (1013.25) 6 7Adafruit_BME680 bme; 8 9void setup() { 10 Serial.begin(115200); 11 12 if (!bme.begin()) { 13 Serial.println("BME680 nenalezen!"); 14 while (1); 15 } 16 17 // nastavení senzoru 18 bme.setTemperatureOversampling(BME680_OS_8X); 19 bme.setHumidityOversampling(BME680_OS_2X); 20 bme.setPressureOversampling(BME680_OS_4X); 21 bme.setIIRFilterSize(BME680_FILTER_SIZE_3); 22 23 // nastavení plynového senzoru 24 bme.setGasHeater(320, 150); // 320°C po dobu 150 ms 25} 26 27void loop() { 28 if (!bme.performReading()) { 29 Serial.println("Chyba čtení!"); 30 return; 31 } 32 33 Serial.print("Teplota = "); 34 Serial.print(bme.temperature); 35 Serial.println(" °C"); 36 37 Serial.print("Vlhkost = "); 38 Serial.print(bme.humidity); 39 Serial.println(" %"); 40 41 Serial.print("Tlak = "); 42 Serial.print(bme.pressure / 100.0); 43 Serial.println(" hPa"); 44 45 Serial.print("Kvalita vzduchu (gas) = "); 46 Serial.print(bme.gas_resistance / 1000.0); 47 Serial.println(" KOhm"); 48 49 Serial.print("Nadmorska vyska = "); 50 Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA)); 51 Serial.println(" m"); 52 53 Serial.println("----------------------"); 54 55 delay(2000); 56}

Jak to funguje

  • bme.performReading() načte všechna data
  • bme.temperature → teplota
  • bme.humidity → vlhkost
  • bme.pressure → tlak
  • bme.gas_resistance → kvalita vzduchu
  • bme.readAltitude() → výška podle tlaku

Kvalita vzduchu (důležité)

BME680 neměří přímo „kvalitu vzduchu“, ale:

  • měří odpor plynu
  • vyšší odpor = čistší vzduch
  • nižší odpor = více znečištění

⚠️ Hodnoty je potřeba:

  • kalibrovat
  • sledovat relativně (změny v čase)

Tipy

  • první měření může být nepřesné → nech senzor „zahřát“
  • používej konstantní podmínky pro přesnější data
  • ideální pro:
    • IoT projekty
    • chytrou domácnost
    • indoor monitoring

Shrnutí

BME680 je univerzální senzor pro monitoring prostředí:

  • 4v1 senzor (teplota, vlhkost, tlak, plyn)
  • jednoduché zapojení přes I2C
  • vhodný pro smart home a IoT projekty

Nakupte svoje ESP32 ještě dnes!

Doprava Zásilkovnou za 89 Kč
Platba dobírkou
Vrácení do 30 dnů
Omezené zásoby - skladem

ESP32-S3 DevKit USB-C

Kompletní vývojová deska s USB-C

240MHz dvoujádrový
WiFi 802.11 b/g/n
Bluetooth 4.2 + BLE
4MB Flash paměť
520KB SRAM
38 GPIO pinů
209za kus

Množstevní slevy:

1
Celkem
209
Objednat

Bezpečná platba při převzetí zásilky nebo online platba přes Comgate, a.s.