RaspberryPiで簡単にI2Cデバイスを使う方法(BMP180)

前回までに続き,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 pressureandhumidity! This sensor is great for...

スイッチサイエンスはAmazonに出店している.スイッチサイエンスのBME280ならAmazonからも購入出来る.

Amazon | BME280搭載 温湿度・気圧センサモジュール ピンヘッダ実装済 | 電気・電力 | おもちゃ
BME280搭載 温湿度・気圧センサモジュール ピンヘッダ実装済が電気・電力ストアでいつでもお買い得。当日お急ぎ便対象商品は、当日お届け可能です。アマゾン配送商品は、通常配送無料(一部除く)。

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

おわりに

ライブラリを使うとかなり簡単に測定出来る.

コメント

タイトルとURLをコピーしました