(25)トラ技mbedで温湿度気圧計(BME280ライブラリ)

(25)BME280(BME280 library)

概要

  • BME280用の制御ライブラリです。
  • 2つの付録基板を活用します。
  • トランジスタ技術2014年2月号の付録基板(実験基板)
  • トランジスタ技術2014年3月号の付録基板(トラ技mbed)
  • 実験基板は表示機として使用します。LPC810は外しておきます。
  • 準備としてハンダジャンパーをI2C設定します。
  • J1=オープン
  • J2=オープン
  • J3=ショート

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

仕様(spec.)

  • BME280は温湿度気圧センサーです。
  • 湿度測定範囲:0%から100%
  • 湿度精度:±3%
  • 湿度データ:16ビット
  • 16ビットデータを計算すると湿度になります。
  • 気圧測定範囲:300hPaから1100hPa
  • 気圧精度:±1hPa
  • 気圧データ:20ビット
  • 20ビットデータを計算すると気圧になります。
  • 温度測定範囲:-40℃から85℃
  • 温度精度:±1℃
  • 温度データ:20ビット
  • 20ビットデータを計算すると温度になります。
  • I2Cアドレス(7ビット)は0x76(プログラム上の表記は0xEC)

/media/uploads/yasuyuki/bme280.jpg

BME280メンバー関数

関数名用途引数戻り値
BME280 bme280(P0_5, P0_4)インスタンス生成SDA, SCL-
BME280 bme280(i2c)インスタンス生成i2c-
bme280.humidity()湿度データvoidunsigned int
bme280.temperature()温度データvoidsigned int
bme280.pressure()気圧データvoidunsigned int
  • インスタンス生成はどちらかの方法で行います。i2cを継承することもできます。
  • 湿度データ、気圧データ、温度データはあえて32ビットデータを取得するようにしています。
  • 浮動小数点を扱えないマイコンへの移植が困難になるからです。
  • 湿度データと気圧データは温度補正されます。
  • そのため、ライブラリ内部で湿度データと気圧データの取得の際、温度データも同時に取得します。
  • こうしないと、正しく温度補正されず、データがばらつきます。

/media/uploads/yasuyuki/bme280calc.png

mbedソフトウェア

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

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

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

接続

  • BME280のVDD(1)をmbedの3.3Vに接続します。
  • BME280のGND(2)をmbedのGNDに接続します。
  • BME280のSDI(4)をmbedのSDAに接続します。
  • BME280のSDO(5)をmbedのGNDに接続します。
  • BME280のSCK(6)をmbedのSCLに接続します。

著作権と免責事項

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


Please log in to post comments.