モバイル端末の気圧計:種類と動作原理

著者: IT Sectr 公開日: 2026-03-22 読了時間: 9 分

スマートフォンの気圧計は、高度測定と天気予報のために大気圧を測定するMEMSセンサーです。最新の気圧計は300~1100 hPaの範囲で1 hPaの精度で圧力を記録し、1メートル未満の高度誤差に相当します。Bosch Sensortec BMP580、2024によると、最新の圧力センサーの絶対精度は±0.5 hPaで、0.4メートルの精度で高度を測定できます。

重要なポイント

  • 気圧計 — 300~1100 hPaの大気圧を測定する絶対圧MEMSセンサー。
  • 高度計は気圧式を使用:8メートル上昇するごとに圧力が約1 hPa低下。
  • Android APIは現在の圧力をhPa(ミリバール)で取得するSensor.TYPE_PRESSUREを提供。
  • キャリブレーションは自動的に行われ、ユーザーの操作は不要。
  • FCC要件により米国では緊急通報時の位置特定精度向上のため気圧計の搭載が推奨されている。

スマートフォンの気圧計とは

気圧計は、MEMS技術(マイクロエレクトロメカニカルシステム)に基づく小型の絶対圧センサーです。ヘクトパスカル(hPa)で大気圧を測定し、これはミリバールに相当します。気圧計を搭載した最初の量産スマートフォン — Samsung Galaxy Note 2(2012)— が、フラッグシップ端末へのセンサー統合のトレンドを開始しました。

最新気圧計の技術仕様

市場のリーダーはBosch Sensortec(BMPシリーズ)とSTMicroelectronics(LPSシリーズ)です。代表的なBMP580センサーのサイズは2.0×2.0×0.7 mm、低消費電力モードでの消費電流は1.3 µA、測定範囲は300~1250 hPaです。相対精度は±0.08 hPaで、0.7メートルの高度変化を検出できます。BMP580データシート(2024年)によると、ノイズレベルは0.2 Paを超えません。

パラメーター
測定範囲300~1250 hPa
絶対精度±0.5 hPa
相対精度±0.08 hPa
消費電力1.3 µA(低電力)
サイズ2.0×2.0×0.7 mm
インターフェースI²C / SPI

スマートフォンに気圧計が必要な理由

主な機能はナビゲーションにおける高度の精密化です。米国では連邦通信委員会(FCC)が2015年から、緊急通報(911)時の位置精度向上のためにスマートフォンへの気圧計搭載を推奨しています — 垂直方向の精度が高層ビルでの命を救います。

MEMS気圧計の仕組み

MEMS気圧計の心臓部は、大気圧によってたわむ厚さ1~3ミクロンのシリコンダイアフラムです。ダイアフラムは真空キャビティ(基準圧力)と一体化されています。たわみの測定には、容量方式またはピエゾ抵抗方式が使用されます。

容量式測定の原理

容量式センサー(Bosch BMP)では、ダイアフラムがコンデンサーの可動電極として機能します。圧力が変化すると、ダイアフラムと固定電極の間のギャップが0.1~1 nm変化し、静電容量が5~50 fF変化します。C/V変換回路(容量-電圧変換)が信号を増幅し、24ビットADCで処理可能なレベルにします。

温度補償

MEMS気圧計には内蔵温度センサーが搭載されています。気体の圧力は法則P = ρRTに従って温度に直接依存するためです。補償がない場合、1 °Cの温度変化は0.1 hPaの誤差を生じ、これは0.8メートルの高度差に相当します。最新のセンサーはOTPメモリー(ワンタイムプログラマブル)に保存されたキャリブレーション係数を使用し、-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 hPaの気圧変化は低高度で約8.4メートルに相当します。正確な計算にはP₀の気象観測所データが必要です。

ハイブリッドアプローチ

最新のナビゲーションシステム(Googleマップ、Yandexマップ)はハイブリッドアルゴリズムを使用しています。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 {
    // GPS高度によるP0キャリブレーション
    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 hPaです。このセンサーは環境センサーのカテゴリーに属し、ユーザーによるキャリブレーションは不要で、初期化後すぐに動作します。

登録の特徴

気圧計は高いポーリングレートを必要としません — SENSOR_DELAY_UI(67 ms)またはSENSOR_DELAY_NORMAL(200 ms)で十分です。大気圧はゆっくりと変化し、天候変化時でも最大0.5~1 hPa/時、エレベーター移動時でも1~2 hPa/分です。過剰な周波数はバッテリーを消耗するだけです。

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時間の気圧チャートを作成し、最大80%の精度で6~12時間先の天候変化を予測できます。

  • フロアナビゲーション — ショッピングモールや空港では、気圧計が気圧変化によってフロアの変更を検出します。3メートル上昇すると、気圧は0.35 hPa低下します。
  • フィットネストラッカー — フロア数のカウントと垂直昇降量の測定。Stravaアプリは気圧計を使用してサイクリングの登り勾配を計算します。
  • 気象観測所 — 気圧計アプリは現在の気圧を表示し予報を生成します。3時間で3~5 hPaの急激な低下は低気圧の接近を示します。
  • ドローンとロボティクス — スマートフォンに接続されたドローンや、高低差のある環境での移動ロボットの高度安定化。

気象が気圧計の測定値に与える影響

天候変化時には大気圧は6~12時間で1~3 hPa変化します。高気圧(高圧帯)は1020~1040 hPa、低気圧は970~1010 hPaの値を示します。高度計算時にはこれらの変化を考慮する必要があります:昨日の海面気圧が1013 hPaで今日が1025 hPaの場合、P₀補正なしの高度誤差は約マイナス100メートルになります。最新のナビゲーションアプリはインターネット経由で最寄りの気象観測所から基準気圧P₀を取得します。

気圧計と屋内測位

ショッピングモールや空港では、気圧計を使用してユーザーがいるフロアを特定します。標準的な建物のフロア間の気圧差(フロア高3~4メートル)は0.35~0.5 hPaで、確実な検出に十分です。気圧計とWi-Fi三辺測量を組み合わせることで、屋内ナビゲーションは最大5メートルの精度で位置を特定できます。

気圧計の未来

新しい世代の防水気圧計(Infineon DPS368、2024)は最大10メートルの浸水に耐え、±0.05 hPaの精度を持ちます。MEMS技術の発展により気圧計は水晶標準の精度に近づきつつあり、2027年までに標準誤差が±0.2 hPaに低減すると予想されています。

よくある質問

私のスマートフォンに気圧計はありますか?

Google PlayのSensor Testアプリで確認できます。フラッグシップのSamsung Galaxy SおよびNoteシリーズ(S3以降)、Google Pixel(全モデル)、iPhone 6以降には気圧計が搭載されています。低価格モデルには通常搭載されていません。

気圧計はどのように高度を測定しますか?

気圧式を使用します:大気圧は高度とともに低下します。海面では1013.25 hPa、高度500メートルでは約955 hPaです。8.4メートル上昇するごとに気圧が約1 hPa低下します。正確さのためには最寄りの気象観測所によるキャリブレーションが必要です。

気圧計を天気予報に使用できますか?

はい、気象観測所アプリで使用できます。3時間で3~5 hPaの急激な気圧低下は低気圧の接近と天候悪化を示します。気圧上昇は好転の兆候です。ただし、正確な予報には気象サービスのデータが必要です。

スマートフォンの気圧計をキャリブレーションする必要がありますか?

いいえ — キャリブレーションは自動的に行われます。メーカーが工場でキャリブレーション係数をプログラムしています。ただし、海抜1000メートル以上の高地にお住まいの場合は、ナビゲーションアプリで基準気圧を設定すると精度が向上します。

アプリで気圧計をどのくらいの頻度でポーリングすべきですか?

SENSOR_DELAY_NORMAL(200 ms)が最適です — 大気圧はゆっくり変化します。エレベーターの動きを追跡する場合でも200 msで十分です。過剰な頻度(FASTEST)は利点がなく、消費電力を20~30%増加させるだけです。

まとめ

  • 気圧計 — 高度測定と天気予報のための±0.5 hPa精度の絶対圧MEMSセンサー。
  • シリコンダイアフラムが容量式またはピエゾ抵抗式測定により、0.2 Paまでの感度を実現。
  • 垂直測位では気圧計がGPSより高精度:0.5~1 m対衛星測位の10~30 m。
  • Android API — Sensor.TYPE_PRESSUREでhPaデータを取得、ユーザーキャリブレーション不要。
  • ハイブリッドナビゲーションがカルマンフィルターでGPSと気圧計を統合し、1~3 mの高度精度を実現。
  • 用途はフロアナビゲーション、フィットネストラッカー、気象観測所、ドローン安定化など。
  • 新しい防水気圧計の世代は2×2 mmのサイズで±0.05 hPaの精度を達成。

ターンキー方式のモバイルアプリケーションを開発します

IT Sectrは2017年からスタートアップや企業向けにiOS・Androidアプリケーションを開発しています。私たちがご相談に乗り、最適なソリューションをご提案します。

プロジェクトについて相談

こちらもお読みください