前回までに続き,I2Cデバイスの使い方を書く.
梅雨の時期,天気が悪いと気圧変化が気になる.
ということで今回は気圧を測定する.
用意するもの
今回使うのはたまたま手元にあった adafruit のBMP180気圧センサ.このセンサは気圧や気温を測定出来る.
データシートも用意しておく.ライブラリもサンプルコードもあるので,あまり見なくてもなんとかなる.
BMP180は既にディスコンなので,これから買うなら後継機であるBMP280か,気圧,気温,湿度の3つを測定出来るBME280を選ぶといい.
Adafruit BME280 I2C or SPI Temperature Humidity Pressure Sensor
Bosch has stepped up their game with their new BME280 sensor, an environmental sensor with temperature, barometric press...
スイッチサイエンスはAmazonに出店している.スイッチサイエンスのBME280ならAmazonからも購入出来る.
Bitly
BMP180の使い方
今回の変換式はbashで計算するには複雑なので,ライブラリが用意されているC++かPythonを使うと便利.今回はPythonを使ってみる.
ライブラリをインストールする
ライブラリをインストールする.BMP180のライブラリはGitHubのREADME通りにインストール出来なかったため,pipコマンドでインストールしている.
$ sudo apt install python-smbus python-pip git $ pip install Adafruit-BMP
測定する
ここではサンプルコード取得のためにgit clone
しているが,wgetコマンドを使ってZIPファイルをダウンロードしてもいい.
$ git clone https://github.com/adafruit/Adafruit_Python_BMP.git $ python Adafruit_Python_BMP/examples/simpletest.py Temp = 28.90 *C Pressure = 99628.00 Pa Altitude = 143.43 m Sealevel Pressure = 99631.00 Pa
この気圧センサは気温も測定出来るのでHTU21Dの測定結果と比較してみる.差分0.24℃でBMP180の方がやや高めの測定結果となっている.真値が分からないのでなんとも言えなかった.
$ ./htu21d.sh t 29.14
おわりに
ライブラリを使うとかなり簡単に測定出来る.
コメント