気圧・温度・湿度 I2C センサー BME280
まず BME280 と BMP280 というよく似たやつがあるので注意…。 BMP は気圧と気温しか測れない。
初期設定
リセット直後の BME280 は圧力・温度・湿度すべての測定がスキップかつスリープモードになっているので、まず測定開始するように設定する必要がある。いくつかモードがあるが、とりあえず NORMAL モードにして定期的に値を更新するようにしとけば良い。
なお用途に応じて最適と思われる設定がデータシートで示されているので、それに従えば良い。
FORCED モード (ワンショットモード) で測定する場合、9. Appendix B: Measurement time and current calculation を参照して tmeasure を求める必要がある。FORCED モードは MODE に書きこむと測定が始まり、終わると SLEEP モードになるという挙動をする。
Raspberry Piで動作確認する場合
ググるとほかにも実装が出てくるが、まずはリファレンス実装で試すのが筋。
https://github.com/BoschSensortec/BME280_driver
メーカーがリファレンス実装をつくってる。
$ git clone git@github.com:BoschSensortec/BME280_driver.git $ cd BME280_driver $ gcc -DBME280_FLOAT_ENABLE -I. -o foo examples/linux_userspace.c bme280.c $ ./foo /dev/i2c-1 Temperature, Pressure, Humidity temp 31.10, p 100605.10, hum 48.97 temp 31.10, p 100605.08, hum 49.01 temp 31.11, p 100605.11, hum 48.97 temp 31.12, p 100605.34, hum 48.98 temp 31.13, p 100605.46, hum 49.02
Rubyでの実装
https://github.com/cho45/ruby-i2c-devices/blob/master/lib/i2c/device/bme280.rb
に書いた。calibration データの扱いに地味にハマってなかなかうまくいかなかった。
関連エントリー
- BMP180 I2C 気圧・温度計センサー BMP180 搭載のモジュールを ebay で買ってみたので試しました。約$2。どの気圧計にしろ温度計が必要で内部補正には使われていたりしま...
- 自作 デジタル SWR 計(再) 2 | 方向性結合器の改善編 FT82-43 に20ターンでやってみましたが、結果が芳しくありませんでした。 そこで、FT82-61 に 30 ターンという、おそらくこれ...
- NEEWER LED-NL660 というのを買ってみた Neewer 調光可能な二色660 LEDビデオライト 耐久性のあるメタルフレーム、 Uブラケットと遮光板付き 3200-5600K、CRI...
- アンテナアナライザの回路 - ブリッジの三つの電位差を測るタイプ http://www.rigexpert.com/index?s=articles&f=aas ブリッジの50Ω/50Ωで分圧したほうの電位...
- Voron 2.4 に温度センサーを追加 DS18B20 デジタル温度センサが便利。1-wire で複数のデバイスを同時に扱える。Klipper も対応している。 Raspberry...