(16)トラ技mbedで気圧計と高度計(LPS25Hライブラリ)
.
(16)LPS25H(LPS25H library)
概要
- LPS25H用の制御ライブラリです。
- 2つの付録基板を活用します。
- トランジスタ技術2014年2月号の付録基板(実験基板)
- トランジスタ技術2014年3月号の付録基板(トラ技mbed)
- 実験基板は表示機として使用します。LPC810を外しておきます。
- LPS331を外しておきます。
LPS25Hモジュール
- LPS25Hは表面実装ですので、DIPモジュールを利用しました。
- 端子のmbed風表記です。
仕様(spec.)
- LPS25Hは気圧センサーです。
- 測定範囲:260hPaから1260hPa
- 精度:±1hPa
- データ:24ビット
- 24ビットデータを4096で除算すると気圧になります。
- I2Cアドレス(7ビット)は0x5C(プログラム上の表記は0xB8)
- AM2321のI2Cアドレスと重複します。併用する場合にはLPS25H側のI2Cアドレスを変更します。
LPS25HとLPS331の違い
- 基本的な使い方は同じです。
- LPS25Hの方が精度がよい。
- LPS25Hは最大32個の平均データを取得可能。
LPS25Hメンバー関数
関数名 | 用途 | 引数 | 戻り値 |
LPS25H lps25h(P0_5, P0_4) | インスタンス生成 | SDA, SCL | - |
LPS25H lps25h(i2c) | インスタンス生成 | i2c | - |
lps25h.pressure() | 気圧データ | void | int |
lps25h.temperature() | 気温データ | void | short |
- インスタンス生成はどちらかの方法で行います。i2cを継承することもできます。
- 気温データは気圧の補正用であり、精度が良くありません。
- あえて24ビットデータを取得するようにしています。
- 浮動小数点を扱えないマイコンへの移植が困難になるからです。
mbedソフトウェア
- サンプルプログラムはmbed_LPS25Hです。
- mbed_LPS25H_LPC11U35_501.binを書き込みます。
トラ技mbedのプログラム書き込み方法
- ISPボタンを押しながらRESETをON/OFFします。
- PCにUSBストレージとして認識されます。
- firmware.binを削除します。
- バイナリファイルをコピーします。
- 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]を想定しています。
著作権と免責事項
- 個人利用に限定され、著作権者の許可なく商用利用できません。
- 直接間接に関わらず、使用によって生じたいかなる損害も筆者は責任を負いません。
Please log in to post comments.