بارومتر در دستگاه‌های موبایل: چیست، انواع و چگونگی کار

نویسنده: IT Sectr منتشر شده: 2026-03-22 زمان مطالعه: 9 دقیقه

بارومتر در سمارت‌فون یک حسگر MEMS است که فشار جو را برای تعیین ارتفاع و پیش‌بینی آب‌وهوا اندازه‌گیری می‌کند. بارومترهای مدرن فشار را در محدوده 300 تا 1100 هکتوپاسکال با دقت 1 هکتوپاسکال ثبت می‌کنند که معادل خطای تعیین ارتفاع کمتر از 1 متر است. به گزارش Bosch Sensortec BMP580, 2024، دقت مطلق حسگرهای فشار مدرن ±0.5 هکتوپاسکال است که امکان تعیین ارتفاع را با دقت 0.4 متر فراهم می‌کند.

نکات کلیدی

  • بارومتر — حسگر MEMS فشار مطلق که فشار جو را از 300 تا 1100 هکتوپاسکال اندازه‌گیری می‌کند.
  • ارتفاع‌سنج از فرمول بارومتریک استفاده می‌کند: هر 8 متر افزایش ارتفاع فشار را تقریباً 1 هکتوپاسکال کاهش می‌دهد.
  • Android API Sensor.TYPE_PRESSURE را برای دریافت فشار جاری به هکتوپاسکال (میلی‌بار) فراهم می‌کند.
  • کالیبراسیون بارومتر به‌صورت خودکار انجام می‌شود — حسگر نیازی به حرکت یا عمل کاربر ندارد.
  • مطالبات FCC در ایالات متحده تولیدکنندگان را ملزم می‌کند برای تعیین دقیق مکان در تماس‌های اضطراری در سمارت‌فون‌ها بارومتر نصب کنند.

بارومتر در سمارت‌فون چیست

بارومتر در تلفن همراه یک حسگر مینیاتوری فشار مطلق است که بر پایه فناوری MEMS (Micro-Electro-Mechanical Systems) ساخته شده است. آن فشار جو را به هکتوپاسکال (hPa) اندازه‌گیری می‌کند که معادل میلی‌بار است. اولین سمارت‌فون انبوه با بارومتر — Samsung Galaxy Note 2 (2012) — روشند اتحاد حسگر به دستگاه‌های فلاگمن را آغاز کرد.

مشخصات فنی بارومترهای مدرن

رهبران بازار Bosch Sensortec (سری BMP) و STMicroelectronics (سری LPS) هستند. حسگر معمولی BMP580 ابعاد 2.0×2.0×0.7 میلی‌متر، مصرف 1.3 میکروآمپر در حالت کم‌مصرف و محدوده 300–1250 هکتوپاسکال دارد. دقت نسبی ±0.08 هکتوپاسکال است که امکان ثبت تغییر ارتفاع 0.7 متری را فراهم می‌کند. بر اساس Datasheet BMP580 (2024)، سطح نویز از 0.2 پاسکال تجاوز نمی‌کند.

پارامترمقدار
محدوده300–1250 هکتوپاسکال
دقت مطلق±0.5 هکتوپاسکال
دقت نسبی±0.08 هکتوپاسکال
مصرف1.3 میکروآمپر (کم مصرف)
ابعاد2.0×2.0×0.7 میلی‌متر
رابطI²C / SPI

چرا بارومتر در تلفن قرار می‌گیرد

کارکرد اصلی — دقیق‌سازی ارتفاع در ناوبری. کمیسیون فدرال مخابرات (FCC) در ایالات متحده از سال 2015 توصیه می‌کند سمارت‌فون‌ها به بارومتر مجهز شوند تا دقت تعیین مکان در تماس‌های اضطراری 911 بهبود یابد — دقت عمودی در ساختمان‌های چند طبقه جان‌ها را نجات می‌دهد.

بارومتر MEMS چگونه کار می‌کند

در هسته بارومتر MEMS یک دیافراگم سیلیکونی با ضخامت 1–3 میکرون قرار دارد که تحت تأثیر فشار جو خم می‌شود. دیافراگم با یک حفره خلا — فشار مرجع — ادغام شده است. برای اندازه‌گیری خمیدگی از روش ظرفیتی یا پیئزومقاومتی استفاده می‌شود.

اصل اندازه‌گیری ظرفیتی

در حسگرهای ظرفیتی (Bosch BMP) دیافراگم به عنوان الکترود متحرک خازن عمل می‌کند. با تغییر فشار، فاصله بین دیافراگم و الکترود ثابت 0.1–1 نانومتر تغییر می‌کند که منجر به تغییر ظرفیت 5–50 فمتوفاراد می‌شود. مدار تبدیل C/V (capacitance-to-voltage) سیگنال را تا سطحی که برای مبدل 24-بیتی ADC کافی است تقویت می‌کند.

جبران دمایی

بارومترهای MEMS حاوی حسگر دمای ساخته‌شده هستند، زیرا فشار گاز مستقیماً به دما وابسته است (P = ρRT). بدون جبران، تغییر دما به اندازه 1 °C باعث خطای 0.1 هکتوپاسکال — معادل 0.8 متر ارتفاع می‌شود. حسگرهای مدرن از ضرایب کالیبراسیون ذخیره‌شده در حافظه OTP (One-Time Programmable) برای تصحیح دیجیتال در محدوده -40 تا +85 °C استفاده می‌کنند.

بارومتر در مقابل GPS برای تعیین ارتفاع

GPS ارتفاع را بر اساس مثلث‌یابی سیگنال‌های ماهواره‌ای تعیین می‌کند — خطای عمودی به دلیل هندسه ماهواره‌ها و تأخیرات یونوسفر 10–30 متر است. بارومتر ارتفاع را با دقت 0.5–1 متر بر اساس فرمول بارومتریک نشان می‌دهد. در سناریوهایی که دید آسمان محدود است (دره‌های شهری، داخل ساختمان) GPS ممکن است در دسترس نباشد — بارومتر همیشه کار می‌کند.

فرمول بارومتریک

ارتفاع با فرمول محاسبه می‌شود: h = (T₀ / L) × (1 − (P / P₀)^(R×L / g))، که در آن T₀ دمای سطح دریا، L شیب دما، P فشار اندازه‌گیری‌شده و P₀ فشار سطح دریاست. به زبان ساده: تغییر فشار به اندازه 1 هکتوپاسکال در ارتفاع‌های پایین معادل تقریباً 8.4 متر است. برای محاسبه دقیق داده‌های ایستگاه‌های هواشناسی درباره P₀ مورد نیاز است.

رویکرد ترکیبی

سیستم‌های ناوبری مدرن (Google Maps، Yandex Maps) از الگوریتم ترکیبی استفاده می‌کنند: GPS ارتفاع مطلق را با خطای 15 متر نشان می‌دهد، بارومتر — تغییر نسبی را با دقت 0.5 متر. فیلتر کالمان هر دو سیگنال را ترکیب کرده و ارتفاع را با دقت 1–3 متر در زمان واقعی محاسبه می‌کند.

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 {
    // کالیبراسیون P0 بر اساس ارتفاع GPS
    val expectedPressure = P0_SEA_LEVEL *
        Math.pow(1f - (0.0065f * gpsAltitude) / 288.15f, 5.255f)
            .toFloat()
    return P0_SEA_LEVEL * baroPressure / expectedPressure
}

کار با بارومتر در Android

Android دسترسی به بارومتر را از طریق Sensor.TYPE_PRESSURE فراهم می‌کند. داده‌ها به هکتوپاسکال (hPa) بازگردانده می‌شوند که معادل میلی‌بار است. مقدار معمولی در سطح دریا حدود 1013.25 هکتوپاسکال است. حسگر در طبقه Environmental Sensors قرار می‌گیرد — نیازی به کالیبراسیون توسط کاربر ندارد و بلافاصله پس از راه‌اندازی کار می‌کند.

ویژگی‌های ثبت‌نام

بارومتر نیازی به فرکانس پرسیش بالا ندارد — SENSOR_DELAY_UI (67 میلی‌ثانیه) یا SENSOR_DELAY_NORMAL (200 میلی‌ثانیه) کاملاً کافی است. فشار جو به آرامی تغییر می‌کند، حداکثر 0.5–1 هکتوپاسکال در ساعت در تغییر آب‌وهوا یا 1–2 هکتوپاسکال در دقیقه در حرکت آسانسور. فرکانس بیش از حد فقط باتری را هدر می‌کند.

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)
    }
}

بررسی دسترسی حسگر

همه دستگاه‌های Android بارومتر ندارند — حسگر در مدل‌های ارزان و بسیاری از دستگاه‌های طبقه متوسط وجود ندارد. قبل از استفاده باید وجود حسگر را از طریق PackageManager.hasSystemFeature(PackageManager.FEATURE_SENSOR_BAROMETER) یا sensorManager.getDefaultSensor(Sensor.TYPE_PRESSURE) بررسی کرد — بازگشت null به معنای نبود حسگر است.

کاربرد بارومتر در نرم‌افزارهای موبایل

بارومتر در طیف وسیعی از نرم‌افزارها استفاده می‌شود — از هواشناسی تا ردیاب‌های ورزشی و ناوبری داخل ساختمان. نرم‌افزار WeatherPro از داده‌های بارومتر برای ساخت نمودار فشار 24 ساعته استفاده می‌کند که امکان پیش‌بینی تغییر آب‌وهوا را تا 6–12 ساعت قبل با دقت تا 80% فراهم می‌کند.

  • ناوبری طبقه — در مراکز خرید و فرودگاه‌ها بارومتر تغییر طبقه را بر اساس تغییر فشار تعیین می‌کند. در صعود 3 متری، فشار 0.35 هکتوپاسکال کاهش می‌یابد.
  • ردیاب‌های تناسب‌اندام — شمارش طبقات (floor counting) و ارتفاع عمودی. نرم‌افزار Strava از بارومتر برای محاسبه شیب صعود در دوچرخه‌سواری استفاده می‌کند.
  • ایستگاه‌های هواشناسی — نرم‌افزارهای بارومتری فشار جاری را نشان می‌دهند و پیش‌بینی می‌کنند. کاهش شدید 3–5 هکتوپاسکال در 3 ساعت نشان‌دهنده نزدیک شدن سیکلون است.
  • پهپاد‌ها و رباتیک — تثبیت ارتفاع پرواز پهپادهای متصل به سمارت‌فون یا ربات‌های متحرک در محیط‌های داخلی با تفاوت ارتفاع.

تأثیر آب‌وهوا بر اندازه‌گیری‌های بارومتر

در تغییر آب‌وهوا، فشار جو در طی 6–12 ساعت 1–3 هکتوپاسکال تغییر می‌کند. انتی‌سیکلون (ناحیه فشار بالا) مقادیر 1020–1040 هکتوپاسکال و سیکلون (فشار پایین) مقادیر 970–1010 هکتوپاسکال را نشان می‌دهند. این تغییرات در محاسبه ارتفاع باید مد نظر قرار گیرند: اگر دیروز فشار سطح دریا 1013 هکتوپاسکال بود و امروز 1025 هکتوپاسکال است، خطای تعیین ارتفاع بدون تصحیح P₀ حدود منفی 100 متر خواهد بود. نرم‌افزارهای ناوبری مدرن فشار مرجع P₀ را از طریق اینترنت از نزدیک‌ترین ایستگاه هواشناسی کسب می‌کنند.

بارومتر و تعیین مکان در داخل ساختمان

در مراکز خرید و فرودگاه‌ها از بارومتر برای تعیین طبقه‌ای که کاربر در آن قرار دارد استفاده می‌شود. تفاوت فشار بین طبقات یک ساختمان معمولی (ارتفاع طبقه 3–4 متر) 0.35–0.5 هکتوپاسکال است — این برای تعیین مطمئن کافی است. با ترکیب بارومتر و مثلث‌یابی Wi-Fi، ناوبری داخل ساختمان مکان را با دقت تا 5 متر تعیین می‌کند.

آینده بارومترها

نسل جدید بارومترهای ضد آب (Infineon DPS368, 2024) غوطه‌وری تا 10 متر را تحمل می‌کنند و دقت ±0.05 هکتوپاسکال دارند. توسعه فناوری MEMS بارومترها را به دقت اتالون‌های کوارتز نزدیک می‌کند — انتظار می‌رود که تا 2027 خطای معمولی به ±0.2 هکتوپاسکال کاهش یابد.

پرسش‌های متداول

آیا تلفن من بارومتر دارد؟

می‌توانید با نرم‌افزار Sensor Test از Google Play بررسی کنید. بارومتر در تمام سمارت‌فون‌های فلاگمن Samsung Galaxy S و Note (از S3 به بعد)، Google Pixel (همه مدل‌ها)، iPhone 6 و بیشتر وجود دارد. در مدل‌های ارزان حسگر معمولاً وجود ندارد.

بارومتر چگونه ارتفاع را تعیین می‌کند؟

بر اساس فرمول بارومتریک: فشار جو با افزایش ارتفاع کاهش می‌یابد. در سطح دریا فشار 1013.25 هکتوپاسکال، در ارتفاع 500 متر حدود 955 هکتوپاسکال است. هر 8.4 متر افزایش ارتفاع فشار را تقریباً 1 هکتوپاسکال کاهش می‌دهد. برای دقت بیشتر کالیبراسیون بر اساس نزدیک‌ترین ایستگاه هواشناسی مورد نیاز است.

آیا می‌توان از بارومتر برای پیش‌بینی آب‌وهوا استفاده کرد؟

بله، در نرم‌افزارهای ایستگاه هواشناسی. کاهش شدید فشار به اندازه 3–5 هکتوپاسکال در 3 ساعت نشان‌دهنده نزدیک شدن سیکلون و بدتر شدن آب‌وهوا است. افزایش فشار نشانه بهبود است. با این حال، برای پیش‌بینی دقیق داده‌های اداره هواشناسی مورد نیاز است.

آیا باید بارومتر تلفن را کالیبر کرد؟

خیر — کالیبراسیون خودکار انجام می‌شود. تولیدکنندگان ضرایب کالیبراسیون را در کارخانه برنامه‌ریزی می‌کنند. اگر در ارتفاع 1000+ متر از سطح دریا زندگی می‌کنید، برای افزایش دقت ارزش دارد فشار مرجع را در نرم‌افزار ناوبری مشخص کنید.

چقدر از بارومتر در نرم‌افزار پرسیش کنم؟

SENSOR_DELAY_NORMAL (200 میلی‌ثانیه) بهینه است — فشار جو به آرامی تغییر می‌کند. برای ردیابی حرکت در آسانسور، 200 میلی‌ثانیه کافی است. فرکانس زیاد (FASTEST) مزیتی ندارد اما مصرف انرژی را 20–30% افزایش می‌دهد.

نتیجه‌گیری

  • بارومتر — حسگر MEMS فشار مطلق با دقت ±0.5 هکتوپاسکال برای تعیین ارتفاع و پیش‌بینی آب‌وهوا.
  • دیافراگم سیلیکونی با اندازه‌گیری ظرفیتی یا پیئزومقاومتی حساسیت تا 0.2 پاسکال را فراهم می‌کند.
  • بارومتر در موقعیت‌یابی عمودی دقیق‌تر از GPS: 0.5–1 متر در مقابل 10–30 متر در ناوبری ماهواره‌ای.
  • Android API — Sensor.TYPE_PRESSURE با داده‌های هکتوپاسکال، کالیبراسیون توسط کاربر نیاز نیست.
  • ناوبری ترکیبی GPS و بارومتر را از طریق فیلتر کالمان برای دقت 1–3 متر ارتفاع ترکیب می‌کند.
  • کاربردها شامل ناوبری طبقه، ردیاب‌های تناسب‌اندام، ایستگاه‌های هواشناسی و تثبیت پهپاد است.
  • نسل جدید بارومترهای ضد آب به دقت ±0.05 هکتوپاسکال در ابعاد 2×2 میلی‌متر می‌رسند.

ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد

IT Sectr از سال 2017 برنامه‌های iOS و Android را برای استارتاپ‌ها و کسب‌وکارها ایجاد می‌کند. ما به شما مشاوره می‌دهیم و بهترین راه‌حل را پیشنهاد خواهیم کرد.

بحث درباره پروژه

همچنین بخوانید