Zpět na články

ESP32 + BMP180 – kompletní návod

BMP180 s ESP32 měří tlak, teplotu a umožňuje výpočet nadmořské výšky.

ESP32 + BMP180 – kompletní návod

BMP180 je digitální barometrický senzor, který měří:

  • atmosférický tlak
  • teplotu
  • nadmořskou výšku (výpočtem z tlaku)

Funguje přes I2C a je vhodný pro jednoduché projekty jako meteostanice nebo výškoměry.

Hlavní vlastnosti (přepsáno z tabulek)

  • rozsah tlaku: cca 300 až 1100 hPa
  • teplotní rozsah: −40 až +85 °C
  • přesnost tlaku: až kolem 0.02 hPa
  • rozlišení: cca 0.01 hPa
  • komunikace: pouze I2C
  • napájení: 1.8–3.6 V (moduly často podporují i 5 V)
  • velmi nízká spotřeba (~µA režim)
ESP32 Blog image

Pinout (převedeno do seznamu)

BMP180 má obvykle 4 piny:

  • VIN → napájení (3.3 V nebo 5 V podle modulu)
  • GND → zem
  • SDA → datová linka (I2C)
  • SCL → hodinová linka (I2C)

Zapojení k ESP32

Použij I2C:

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

Co potřebuješ

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

Instalace knihovny

Použij:

  • Adafruit BMP085 Library (funguje i pro BMP180)

Postup:

  1. Arduino IDE → Library Manager
  2. vyhledej „BMP085“
ESP32 Blog image

Základní měření (teplota, tlak, výška)

Kompletní kód

bmp180.cpp
1#include <Wire.h> 2#include <Adafruit_BMP085.h> 3 4Adafruit_BMP085 bmp; 5 6void setup() { 7 Serial.begin(9600); 8 9 if (!bmp.begin()) { 10 Serial.println("BMP180 nenalezen!"); 11 while (1) {} 12 } 13} 14 15void loop() { 16 Serial.print("Teplota = "); 17 Serial.print(bmp.readTemperature()); 18 Serial.println(" *C"); 19 20 Serial.print("Tlak = "); 21 Serial.print(bmp.readPressure()); 22 Serial.println(" Pa"); 23 24 Serial.print("Nadmorska vyska = "); 25 Serial.print(bmp.readAltitude()); 26 Serial.println(" m"); 27 28 Serial.print("Tlak na hladine more = "); 29 Serial.print(bmp.readSealevelPressure()); 30 Serial.println(" Pa"); 31 32 Serial.print("Presnejsi vyska = "); 33 Serial.print(bmp.readAltitude(102000)); 34 Serial.println(" m"); 35 36 Serial.println(); 37 delay(500); 38}

Jak to funguje

  • bmp.readTemperature() → vrací teplotu
  • bmp.readPressure() → vrací tlak v Pa
  • bmp.readAltitude() → výška při standardním tlaku
  • bmp.readSealevelPressure() → přepočet tlaku na hladinu moře
  • bmp.readAltitude(…) → přesnější výška podle aktuálního tlaku

Výška je odhad – závisí na aktuálním počasí.

Jak se počítá výška

Senzor neobsahuje GPS – výška se odvozuje:

  • nižší tlak = vyšší nadmořská výška
  • vyšší tlak = nižší nadmořská výška

Pro přesnost:

  • nastav aktuální tlak na hladině moře
  • jinak bude výpočet zkreslený

Použití v praxi

BMP180 se hodí pro:

  • meteostanice
  • výškoměry (např. drony)
  • IoT projekty
  • měření změn tlaku

Shrnutí

BMP180 je jednoduchý a levný senzor:

  • měří tlak a teplotu
  • umožňuje výpočet nadmořské výšky
  • komunikuje přes I2C

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.