Barometr w urządzeniach mobilnych: co to jest, rodzaje i jak działa

Autor: IT Sectr Opublikowano: 2026-03-22 Czas czytania: 9 min

Barometr w smartfonie to czujnik MEMS mierzący ciśnienie atmosferyczne do określania wysokości i prognozy pogody. Nowoczesne barometry rejestrują ciśnienie w zakresie od 300 do 1100 hPa z dokładnością do 1 hPa, co odpowiada błędowi określania wysokości poniżej 1 metra. Według danych Bosch Sensortec BMP580, 2024, bezwzględna dokładność współczesnych czujników ciśnienia wynosi ±0,5 hPa, co pozwala określać wysokość z dokładnością do 0,4 metra.

Najważniejsze

  • Barometr — czujnik MEMS ciśnienia bezwzględnego, mierzący ciśnienie atmosferyczne od 300 do 1100 hPa.
  • Wysokościomierz wykorzystuje wzór barometryczny: każde 8 metrów wzniesienia obniża ciśnienie o około 1 hPa.
  • Android API udostępnia Sensor.TYPE_PRESSURE do pobierania bieżącego ciśnienia w hPa (milibarach).
  • Kalibracja barometru odbywa się automatycznie — czujnik nie wymaga gestów ani działań użytkownika.
  • Wymogi FCC w USA zobowiązują producentów do instalowania barometru w smartfonach w celu dokładnego określania lokalizacji podczas połączeń alarmowych.

Co to jest barometr w smartfonie

Barometr w telefonie komórkowym to miniaturowy czujnik ciśnienia bezwzględnego, oparty na technologii MEMS (Micro-Electro-Mechanical Systems). Mierzy ciśnienie atmosferyczne w hektopaskalach (hPa), co jest równoważne milibarom. Pierwszym masowo produkowanym smartfonem z barometrem był Samsung Galaxy Note 2 (2012) — zapoczątkował on trend integracji czujnika w flagowych urządzeniach.

Parametry techniczne współczesnych barometrów

Liderami rynku są Bosch Sensortec (seria BMP) i STMicroelectronics (seria LPS). Typowy czujnik BMP580 ma wymiary 2,0×2,0×0,7 mm, pobór prądu 1,3 µA w trybie niskiego poboru energii i zakres 300–1250 hPa. Dokładność względna wynosi ±0,08 hPa, co pozwala rejestrować zmianę wysokości o 0,7 metra. Według danych Datasheet BMP580 (2024), poziom szumów nie przekracza 0,2 Pa.

ParametrWartość
Zakres300–1250 hPa
Dokładność bezwzględna±0,5 hPa
Dokładność względna±0,08 hPa
Pobór prądu1,3 µA (niski pobór)
Wymiary2,0×2,0×0,7 mm
InterfejsI²C / SPI

Po co barometr w telefonie

Główna funkcja — doprecyzowanie wysokości w nawigacji. W USA Federalna Komisja Łączności (FCC) od 2015 roku zaleca wyposażanie smartfonów w barometry w celu poprawy dokładności określania lokalizacji podczas połączeń alarmowych 911 — dokładność pionowa ratuje życie w budynkach wielopiętrowych.

Jak działa barometr MEMS

Podstawą barometru MEMS jest krzemowa membrana o grubości 1–3 mikronów, która ugina się pod wpływem ciśnienia atmosferycznego. Membrana jest zintegrowana z próżniową komorą — ciśnieniem odniesienia. Do pomiaru ugięcia stosuje się metodę pojemnościową lub piezorezystancyjną.

Zasada pomiaru pojemnościowego

W czujnikach pojemnościowych (Bosch BMP) membrana pełni rolę ruchomej elektrody kondensatora. Pod wpływem zmiany ciśnienia szczelina między membraną a nieruchomą elektrodą zmienia się o 0,1–1 nm, co powoduje zmianę pojemności o 5–50 fF. Układ C/V (capacitance-to-voltage) wzmacnia sygnał do poziomu wystarczającego dla 24-bitowego przetwornika ADC.

Kompensacja temperaturowa

Barometry MEMS zawierają wbudowany czujnik temperatury, ponieważ ciśnienie gazu zależy bezpośrednio od temperatury zgodnie z równaniem P = ρRT. Bez kompensacji zmiana temperatury o 1 °C powoduje błąd 0,1 hPa — odpowiednik 0,8 metra wysokości. Współczesne czujniki wykorzystują współczynniki kalibracyjne przechowywane w pamięci OTP (One-Time Programmable) do cyfrowej korekcji w zakresie od -40 do +85 °C.

Barometr a GPS w określaniu wysokości

GPS określa wysokość na podstawie trilateracji sygnałów satelitarnych — błąd pionowy wynosi 10–30 metrów z powodu geometrii satelitów i opóźnień jonosferycznych. Barometr podaje wysokość z dokładnością 0,5–1 metra według wzoru barometrycznego. W scenariuszach z ograniczonym widokiem nieba (kaniony miejskie, wnętrza) GPS może być niedostępny — barometr działa zawsze.

Wzór barometryczny

Wysokość oblicza się według wzoru: h = (T₀ / L) × (1 − (P / P₀)^(R×L / g)), gdzie T₀ — temperatura na poziomie morza, L — gradient temperatury, P — zmierzone ciśnienie, P₀ — ciśnienie na poziomie morza. W uproszczeniu: zmiana ciśnienia o 1 hPa odpowiada około 8,4 metra na małych wysokościach. Do dokładnych obliczeń wymagane są dane stacji meteorologicznych o P₀.

Podejście hybrydowe

Nowoczesne systemy nawigacyjne (Google Maps, Yandex Maps) stosują algorytm hybrydowy: GPS podaje wysokość bezwzględną z błędem 15 metrów, barometr — względną zmianę z dokładnością 0,5 metra. Filtr Kalmana łączy oba sygnały, dostarczając wysokość z dokładnością 1–3 metrów w czasie rzeczywistym.

kotlin
data class BaroReading(
    val pressure: Float,
    val altitude: Float
)

private val P0_SEA_LEVEL = 1013.25f

fun calculateAltitude(pressure: Float): Float {
    return SensorManager.getAltitude(
        P0_SEA_LEVEL, pressure
    )
}

fun calibratePressure(
    gpsAltitude: Float, baroPressure: Float
): Float {
    // Kalibracja P0 według wysokości GPS
    val expectedPressure = P0_SEA_LEVEL *
        Math.pow(1f - (0.0065f * gpsAltitude) / 288.15f, 5.255f)
            .toFloat()
    return P0_SEA_LEVEL * baroPressure / expectedPressure
}

Praca z barometrem w Androidzie

Android udostępnia dostęp do barometru przez Sensor.TYPE_PRESSURE. Dane są zwracane w hektopaskalach (hPa), co jest równoważne milibarom. Typowa wartość na poziomie morza wynosi około 1013,25 hPa. Czujnik należy do kategorii Environmental Sensors — nie wymaga kalibracji ze strony użytkownika i działa natychmiast po inicjalizacji.

Zasady rejestracji

Barometr nie wymaga wysokiej częstotliwości odpytywania — SENSOR_DELAY_UI (67 ms) lub SENSOR_DELAY_NORMAL (200 ms) są w pełni wystarczające. Ciśnienie atmosferyczne zmienia się powoli, maksymalnie o 0,5–1 hPa na godzinę przy zmianie pogody lub o 1–2 hPa na minutę podczas jazdy windą. Nadmierna częstotliwość tylko marnuje baterię.

kotlin
class BarometerActivity : AppCompatActivity() {

    private val sensorManager by lazy {
        getSystemService(SENSOR_SERVICE) as SensorManager
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        val barometer = sensorManager
            .getDefaultSensor(Sensor.TYPE_PRESSURE)
        barometer?.let { sensor ->
            sensorManager.registerListener(
                this, sensor,
                SensorManager.SENSOR_DELAY_NORMAL
            )
        }
    }

    override fun onSensorChanged(event: SensorEvent) {
        val pressure = event.values[0]
        val altitude = SensorManager
            .getAltitude(1013.25f, pressure)
        updateUI(pressure, altitude)
    }
}

Sprawdzanie dostępności czujnika

Nie wszystkie urządzenia z Androidem mają barometr — czujnik jest nieobecny w modelach budżetowych i wielu urządzeniach średniej półki. Przed użyciem należy sprawdzić obecność przez PackageManager.hasSystemFeature(PackageManager.FEATURE_SENSOR_BAROMETER) lub przez sensorManager.getDefaultSensor(Sensor.TYPE_PRESSURE) — zwrócenie null oznacza brak czujnika.

Zastosowanie barometru w aplikacjach mobilnych

Barometr jest używany w szerokim spektrum aplikacji — od meteorologii po trackery sportowe i nawigację wewnątrz budynków. Aplikacja WeatherPro wykorzystuje dane barometru do budowania wykresu ciśnienia z 24 godzin, co pozwala prognozować zmianę pogody na 6–12 godzin naprzód z dokładnością do 80%.

  • Nawigacja piętrami — w centrach handlowych i na lotniskach barometr określa zmianę piętra na podstawie zmiany ciśnienia. Podczas wzniesienia o 3 metry ciśnienie spada o 0,35 hPa.
  • Trackery fitness — liczenie pięter (floor counting) i pionowego przyrostu wysokości. Aplikacja Strava używa barometru do obliczania gradientu wzniesienia podczas jazdy na rowerze.
  • Stacje meteorologiczne — aplikacje barometryczne pokazują bieżące ciśnienie i budują prognozę. Gwałtowny spadek o 3–5 hPa w ciągu 3 godzin wskazuje na zbliżanie się cyklonu.
  • Drony i robotyka — stabilizacja wysokości lotu dronów podłączonych do smartfona lub robotów mobilnych w pomieszczeniach z różnicami wysokości.

Wpływ pogody na wskazania barometru

Podczas zmiany pogody ciśnienie atmosferyczne zmienia się o 1–3 hPa w ciągu 6–12 godzin. Wyż (obszar wysokiego ciśnienia) daje wartości 1020–1040 hPa, niż (niskie ciśnienie) — 970–1010 hPa. Te zmiany należy uwzględnić przy obliczaniu wysokości: jeśli wczoraj ciśnienie na poziomie morza wynosiło 1013 hPa, a dziś 1025 hPa, błąd określenia wysokości bez korekcji P₀ wyniesie około minus 100 metrów. Nowoczesne aplikacje nawigacyjne pobierają ciśnienie odniesienia P₀ przez internet z najbliższej stacji meteorologicznej.

Barometr a określanie lokalizacji w pomieszczeniach

W centrach handlowych i na lotniskach barometr służy do określania piętra, na którym znajduje się użytkownik. Różnica ciśnienia między piētrami typowego budynku (wysokość piętra 3–4 metry) wynosi 0,35–0,5 hPa — to wystarcza do pewnego określenia. Łącząc barometr z trilateracją Wi-Fi, nawigacja wewnątrz budynków określa lokalizację z dokładnością do 5 metrów.

Przyszłość barometrów

Nowa generacja wodoodpornych barometrów (Infineon DPS368, 2024) wytrzymuje zanurzenie do 10 metrów i ma dokładność ±0,05 hPa. Rozwój technologii MEMS przybliża barometry do dokładności kwarcowych wzorców — oczekuje się, że do 2027 roku typowy błąd spadnie do ±0,2 hPa.

Często zadawane pytania

Czy mój telefon ma barometr?

Możesz to sprawdzić przez Sensor Test — aplikacje z Google Play. Barometr jest we wszystkich flagowych smartfonach Samsung Galaxy S i Note (począwszy od S3), Google Pixel (wszystkie modele), iPhone 6 i nowszych. W modelach budżetowych czujnik zwykle nie występuje.

Jak barometr określa wysokość?

Według wzoru barometrycznego: ciśnienie atmosferyczne maleje wraz z wysokością. Na poziomie morza ciśnienie wynosi 1013,25 hPa, na wysokości 500 metrów — około 955 hPa. Każde 8,4 metra wzniesienia obniża ciśnienie o około 1 hPa. Do dokładności potrzebna jest kalibracja według najbliższej stacji meteorologicznej.

Czy można używać barometru do przewidywania pogody?

Tak, w aplikacjach stacji meteorologicznych. Gwałtowny spadek ciśnienia o 3–5 hPa w ciągu 3 godzin wskazuje na zbliżanie się cyklonu i pogorszenie pogody. Wzrost ciśnienia to oznaka poprawy. Jednak do dokładnej prognozy potrzebne są dane służb meteorologicznych.

Czy trzeba kalibrować barometr w telefonie?

Nie — kalibracja odbywa się automatycznie. Producenci programują współczynniki kalibracyjne w fabryce. Jeśli jednak mieszkasz na wysokości 1000+ metrów nad poziomem morza, warto wskazać ciśnienie odniesienia w aplikacji nawigacyjnej w celu zwiększenia dokładności.

Jak często odpytywać barometr w aplikacji?

SENSOR_DELAY_NORMAL (200 ms) jest optymalny — ciśnienie atmosferyczne zmienia się powoli. Do śledzenia ruchu w windzie wystarczy 200 ms. Nadmierna częstotliwość (FASTEST) nie daje przewagi, ale zwiększa pobór energii o 20–30%.

Podsumowanie

  • Barometr — czujnik MEMS ciśnienia bezwzględnego z dokładnością ±0,5 hPa do określania wysokości i prognozy pogody.
  • Krzemowa membrana z pomiarem pojemnościowym lub piezorezystancyjnym zapewnia czułość do 0,2 Pa.
  • Barometr jest dokładniejszy niż GPS w pozycjonowaniu pionowym: 0,5–1 m wobec 10–30 m w nawigacji satelitarnej.
  • Android API — Sensor.TYPE_PRESSURE z danymi w hPa, kalibracja nie jest wymagana ze strony użytkownika.
  • Nawigacja hybrydowa łączy GPS i barometr przez filtr Kalmana dla dokładności 1–3 metrów wysokości.
  • Zastosowanie obejmuje nawigację piętrami, trackery fitness, stacje meteorologiczne i stabilizację dronów.
  • Nowe generacje wodoodpornych barometrów osiągają dokładność ±0,05 hPa przy wymiarach 2×2 mm.

Opracujemy aplikację mobilną pod klucz

IT Sectr tworzy aplikacje na iOS i Androida dla startupów i firm od 2017 roku. Doradzimy Ci i zaproponujemy najlepsze rozwiązanie.

Omów projekt

Przeczytaj również