Barometer di ponsel pintar adalah sensor MEMS yang mengukur tekanan atmosfer untuk menentukan ketinggian dan prakiraan cuaca. Barometer modern mencatat tekanan dalam rentang 300 hingga 1100 hPa dengan akurasi 1 hPa, yang setara dengan kesalahan penentuan ketinggian kurang dari 1 meter. Menurut data Bosch Sensortec BMP580, 2024, akurasi absolut sensor tekanan modern adalah ±0,5 hPa, yang memungkinkan penentuan ketinggian dengan akurasi 0,4 meter.
Poin Penting
Barometer di ponsel adalah sensor tekanan absolut miniatur yang didasarkan pada teknologi MEMS (Micro-Electro-Mechanical Systems). Ia mengukur tekanan atmosfer dalam hektopaskal (hPa), yang setara dengan milibar. Ponsel pintar produksi massal pertama dengan barometer — Samsung Galaxy Note 2 (2012) — memulai tren integrasi sensor ke perangkat flagship.
Pemimpin pasar adalah Bosch Sensortec (seri BMP) dan STMicroelectronics (seri LPS). Sensor BMP580 tipikal memiliki ukuran 2,0×2,0×0,7 mm, konsumsi daya 1,3 µA dalam mode daya rendah, dan rentang 300–1250 hPa. Akurasi relatif adalah ±0,08 hPa, yang memungkinkan pencatatan perubahan ketinggian 0,7 meter. Menurut Datasheet BMP580 (2024), tingkat kebisingan tidak melebihi 0,2 Pa.
| Parameter | Nilai |
|---|---|
| Rentang | 300–1250 hPa |
| Akurasi absolut | ±0,5 hPa |
| Akurasi relatif | ±0,08 hPa |
| Konsumsi daya | 1,3 µA (daya rendah) |
| Ukuran | 2,0×2,0×0,7 mm |
| Antarmuka | I²C / SPI |
Fungsi utama — memperhalus ketinggian dalam navigasi. Di AS, Komisi Komunikasi Federal (FCC) sejak 2015 merekomendasikan melengkapi ponsel pintar dengan barometer untuk meningkatkan akurasi penentuan lokasi pada panggilan darurat 911 — akurasi vertikal menyelamatkan nyawa di gedung bertingkat.
Di inti barometer MEMS terdapat diafragma silikon dengan ketebalan 1–3 mikron yang melengkung di bawah tekanan atmosfer. Diafragma terintegrasi dengan rongga vakum — tekanan referensi. Untuk mengukur lengkungan digunakan metode kapasitif atau piezoresistif.
Pada sensor kapasitif (Bosch BMP) diafragma berfungsi sebagai elektroda bergerak dari kapasitor. Saat tekanan berubah, jarak antara diafragma dan elektroda tetap berubah sebesar 0,1–1 nm, yang menyebabkan perubahan kapasitansi sebesar 5–50 fF. Rangkaian konversi C/V (capacitance-to-voltage) memperkuat sinyal ke tingkat yang cukup untuk ADC 24-bit.
Barometer MEMS mengandung sensor suhu terintegrasi, karena tekanan gas bergantung langsung pada suhu sesuai hukum P = ρRT. Tanpa kompensasi, perubahan suhu sebesar 1 °C menyebabkan kesalahan 0,1 hPa — setara dengan 0,8 meter ketinggian. Sensor modern menggunakan koefisien kalibrasi yang disimpan di memori OTP (One-Time Programmable) untuk koreksi digital dalam rentang -40 hingga +85 °C.
GPS menentukan ketinggian berdasarkan trilaterasi sinyal satelit — kesalahan vertikal adalah 10–30 meter karena geometri satelit dan penundaan ionosfer. Barometer memberikan ketinggian dengan akurasi 0,5–1 meter menurut rumus barometrik. Dalam skenario dengan pandangan langit terbatas (jurang perkotaan, dalam ruangan), GPS mungkin tidak tersedia — barometer selalu berfungsi.
Ketinggian dihitung dengan rumus: h = (T₀ / L) × (1 − (P / P₀)^(R×L / g)), di mana T₀ — suhu di permukaan laut, L — gradien suhu, P — tekanan terukur, P₀ — tekanan di permukaan laut. Sederhananya: perubahan tekanan 1 hPa setara dengan sekitar 8,4 meter pada ketinggian rendah. Untuk perhitungan yang akurat diperlukan data stasiun meteorologi tentang P₀.
Sistem navigasi modern (Google Maps, Yandex Maps) menggunakan algoritma hibrida: GPS memberikan ketinggian absolut dengan kesalahan 15 meter, barometer — perubahan relatif dengan akurasi 0,5 meter. Filter Kalman menggabungkan kedua sinyal, menghasilkan ketinggian dengan akurasi 1–3 meter secara real-time.
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 {
// Kalibrasi P0 berdasarkan ketinggian GPS
val expectedPressure = P0_SEA_LEVEL *
Math.pow(1f - (0.0065f * gpsAltitude) / 288.15f, 5.255f)
.toFloat()
return P0_SEA_LEVEL * baroPressure / expectedPressure
}
Android menyediakan akses ke barometer melalui Sensor.TYPE_PRESSURE. Data dikembalikan dalam hektopaskal (hPa), yang setara dengan milibar. Nilai tipikal di permukaan laut sekitar 1013,25 hPa. Sensor termasuk dalam kategori Environmental Sensors — tidak memerlukan kalibrasi dari pengguna dan berfungsi segera setelah inisialisasi.
Barometer tidak memerlukan frekuensi polling tinggi — SENSOR_DELAY_UI (67 ms) atau SENSOR_DELAY_NORMAL (200 ms) sudah cukup. Tekanan atmosfer berubah perlahan, maksimum 0,5–1 hPa per jam saat perubahan cuaca atau 1–2 hPa per menit saat bergerak di lift. Frekuensi berlebihan hanya menghabiskan baterai.
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)
}
}
Tidak semua perangkat Android memiliki barometer — sensor tidak ada di model anggaran dan banyak perangkat segmen menengah. Sebelum digunakan, periksa keberadaan melalui PackageManager.hasSystemFeature(PackageManager.FEATURE_SENSOR_BAROMETER) atau sensorManager.getDefaultSensor(Sensor.TYPE_PRESSURE) — pengembalian null berarti tidak ada sensor.
Barometer digunakan dalam berbagai aplikasi — dari meteorologi hingga pelacak olahraga dan navigasi dalam ruangan. Aplikasi WeatherPro menggunakan data barometer untuk membuat grafik tekanan 24 jam, yang memungkinkan memprediksi perubahan cuaca 6–12 jam sebelumnya dengan akurasi hingga 80%.
Saat perubahan cuaca, tekanan atmosfer berubah sebesar 1–3 hPa dalam 6–12 jam. Antisiklon (daerah tekanan tinggi) memberikan nilai 1020–1040 hPa, siklon (tekanan rendah) — 970–1010 hPa. Perubahan ini harus diperhitungkan saat menghitung ketinggian: jika kemarin tekanan di permukaan laut adalah 1013 hPa dan hari ini 1025 hPa, kesalahan penentuan ketinggian tanpa koreksi P₀ akan menjadi sekitar minus 100 meter. Aplikasi navigasi modern mendapatkan tekanan referensi P₀ melalui internet dari stasiun cuaca terdekat.
Di pusat perbelanjaan dan bandara, barometer digunakan untuk menentukan lantai tempat pengguna berada. Perbedaan tekanan antar lantai gedung tipikal (tinggi lantai 3–4 meter) adalah 0,35–0,5 hPa — cukup untuk penentuan yang andal. Menggabungkan barometer dengan trilaterasi Wi-Fi, navigasi dalam ruangan menentukan lokasi dengan akurasi hingga 5 meter.
Generasi baru barometer kedap air (Infineon DPS368, 2024) tahan terhadap perendaman hingga 10 meter dan memiliki akurasi ±0,05 hPa. Perkembangan teknologi MEMS mendekatkan barometer ke akurasi standar kuarsa — diperkirakan pada tahun 2027 kesalahan tipikal akan turun menjadi ±0,2 hPa.
Pertanyaan yang Sering Diajukan
Anda dapat memeriksanya melalui aplikasi Sensor Test dari Google Play. Barometer ada di semua ponsel pintar flagship Samsung Galaxy S dan Note (mulai dari S3), Google Pixel (semua model), iPhone 6 dan yang lebih baru. Pada model anggaran, sensor biasanya tidak ada.
Menurut rumus barometrik: tekanan atmosfer berkurang seiring ketinggian. Di permukaan laut tekanan 1013,25 hPa, pada ketinggian 500 meter — sekitar 955 hPa. Setiap 8,4 meter kenaikan mengurangi tekanan sekitar 1 hPa. Untuk akurasi diperlukan kalibrasi berdasarkan stasiun cuaca terdekat.
Ya, di aplikasi stasiun cuaca. Penurunan tekanan tajam sebesar 3–5 hPa dalam 3 jam menandakan datangnya siklon dan memburuknya cuaca. Kenaikan tekanan adalah tanda perbaikan. Namun, untuk prakiraan akurat diperlukan data dari layanan meteorologi.
Tidak — kalibrasi terjadi secara otomatis. Produsen memprogram koefisien kalibrasi di pabrik. Namun, jika Anda tinggal di ketinggian 1000+ meter di atas permukaan laut, ada baiknya mengatur tekanan referensi di aplikasi navigasi untuk meningkatkan akurasi.
SENSOR_DELAY_NORMAL (200 ms) optimal — tekanan atmosfer berubah perlahan. Untuk melacak pergerakan di lift, 200 ms sudah cukup. Frekuensi berlebihan (FASTEST) tidak memberikan keuntungan, tetapi meningkatkan konsumsi energi 20–30%.
Kesimpulan
Kami akan mengembangkan aplikasi seluler turnkey
IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.
Baca juga