【ラズベリーパイ3】BME280で気温・湿度・大気圧の測定

この記事では、ラズベリーパイ3とBME280モジュールで気温・湿度・大気圧の測定する方法をソースコード付きでまとめました。

BME280

BME280は、気温・湿度・大気圧を測ることができるセンサーです。
このセンサーは、I2C通信とSPI通信のどちらかを選択して計測したデータを送ることができます。
今回はI2C通信を使ってみます。
※ラズベリーパイ側で事前にI2C通信機能を有効化しておく必要があります。

関連記事
詳細 【ラズベリーパイ3】I2C通信を有効化

また、以下のコマンドでpythonライブラリをインストールしておきます。

$ sudo apt-get install python-smbus

回路構成

ラズベリーパイとBME280モジュールを下記の表ように6本のジャンプワイヤーで接続しました。

接続構成

ラズベリーパイ3 BME280モジュール(HiLetgo)
3.3V(11ピン) VDD
3.3V(17ピン) CSB
GND(6ピン) GND
GND(6ピン) SD0
SCL(5ピン) SCL
SDA(3ピン) SDA

※スイッチサイエンスのBME280の場合は、BME280側のピンの名称が若干異なります。

使用機器

機器名 数量
ラズベリーパイ3 1個
ブレッドボード 1個
温湿度・気圧センサモジュール BME280 (550円) 1個
ジャンパーワイヤ 数本

※使用したBME280モジュール

※スイッチサイエンスのBME280モジュールは1600円くらいでした。
一方、HiLetgoが販売しているBME280モジュールは550円だったので今回はそちらを使ってみました。(要はんだ付け)

ソースコード(Python3)

サンプルプログラムのソースコードです。

リンク
関数版 sample.py
クラス版 bme280.py

実行結果

サンプルプログラムの実行結果です。

Temp: 25.265137638919988
Humid: 50.16727337955698
Pressure: 1022.1794535049137

正常に作動しました。550円で気温湿度大気圧を測れるのはコスパが良いですね。

【参考文献】
Raspberry Pi + BME280モジュールで自動で温度・湿度・気圧を測定してグラフ化する

【関連記事】
ラズベリーパイ3で電子工作入門
Python入門 サンプル集

コメント

  1. shimizu より:

    サイトのとおり、接続構成しても、うまく機動しません。
    他のサイトの接続図に代えても、機動しない。

    どのようにすればよいか、全くお手上げです。
    解決策があれば、教えていただきたいです。

    よろしくお願い致します。

    • 管理人 より:

      ※shimizu様
      コメントありがとうございます。
      I2C機能は有効にされていますでしょうか?

  2. 匿名 より:

    通りすがりに横やり失礼します。

    ピンかジャンパのはんだづけがうまくいっていないとか、接続するピンが隣だったりとかの単純なことではないかなぁ、と個人的には思いましたが、もう少し詳しく状況を説明しないと管理者様も返答に困るのではないでしょうか?
    I2C開通させる、ピンの番号を確認する、はんだの状態や接続状態を確認するなどどの部分は問題ないのか確認してここに書き出されてはいかがでしょうか?