(16)トラ技mbedで気圧計と高度計(LPS25Hライブラリ)

(16)LPS25H(LPS25H library)

概要

  • LPS25H用の制御ライブラリです。
  • 2つの付録基板を活用します。
  • トランジスタ技術2014年2月号の付録基板(実験基板)
  • トランジスタ技術2014年3月号の付録基板(トラ技mbed)
  • 実験基板は表示機として使用します。LPC810を外しておきます。
  • LPS331を外しておきます。

/media/uploads/yasuyuki/mbed-lps25h.png

LPS25Hモジュール

  • LPS25Hは表面実装ですので、DIPモジュールを利用しました。
  • 端子のmbed風表記です。

/media/uploads/yasuyuki/lps25h.png

仕様(spec.)

  • LPS25Hは気圧センサーです。
  • 測定範囲:260hPaから1260hPa
  • 精度:±1hPa
  • データ:24ビット
  • 24ビットデータを4096で除算すると気圧になります。
  • I2Cアドレス(7ビット)は0x5C(プログラム上の表記は0xB8)
  • AM2321のI2Cアドレスと重複します。併用する場合にはLPS25H側のI2Cアドレスを変更します。

/media/uploads/yasuyuki/lps25h.jpg

LPS25HとLPS331の違い

  • 基本的な使い方は同じです。
  • LPS25Hの方が精度がよい。
  • LPS25Hは最大32個の平均データを取得可能。

LPS25Hメンバー関数

関数名用途引数戻り値
LPS25H lps25h(P0_5, P0_4)インスタンス生成SDA, SCL-
LPS25H lps25h(i2c)インスタンス生成i2c-
lps25h.pressure()気圧データvoidint
lps25h.temperature()気温データvoidshort
  • インスタンス生成はどちらかの方法で行います。i2cを継承することもできます。
  • 気温データは気圧の補正用であり、精度が良くありません。
  • あえて24ビットデータを取得するようにしています。
  • 浮動小数点を扱えないマイコンへの移植が困難になるからです。

mbedソフトウェア

  • サンプルプログラムはmbed_LPS25Hです。
  • mbed_LPS25H_LPC11U35_501.binを書き込みます。

トラ技mbedのプログラム書き込み方法

  1. ISPボタンを押しながらRESETをON/OFFします。
  2. PCにUSBストレージとして認識されます。
  3. firmware.binを削除します。
  4. バイナリファイルをコピーします。
  5. RESETを押します。

接続

  • LPS25HのVDD(1)をmbedの3.3Vに接続します。
  • LPS25HのSCL(2)をmbedのSCLに接続します。
  • LPS25HのSDA(3)をmbedのSDAに接続します。
  • LPS25HのSDO(4)をmbedのGNDに接続します。
  • LPS25HのCS(5)をmbedの3.3Vに接続します。
  • LPS25HのNC(6)は未接続です。
  • LPS25HのINT1(7)は未接続です。
  • LPS25HのGND(8)をmbedのGNDに接続します。

高度計

  • 気圧から高度を推計することができます。
  • ただし天候に左右されます。
  • 国際民間航空機関(ICAO)が定めた標準大気モデルがあります。
  • 標準大気モデルは海面気温T0=15[C]、海面気圧P0=101325[Pa]を想定しています。

/media/uploads/yasuyuki/lps25.jpg

著作権と免責事項

  • 個人利用に限定され、著作権者の許可なく商用利用できません。
  • 直接間接に関わらず、使用によって生じたいかなる損害も筆者は責任を負いません。


Please log in to post comments.