Raspberry Pi 3とBME280で気温、湿度、気圧の測定

スポンサーリンク

初めに

いったいこの投稿は何番煎じなんだろうか・・・・

と言うくらい既に先人がやり尽くしているネタですが、車輪の再発明よろしく勉強のために進めていきます!

piユーザがいないのにメッセージが出る件はとりあえず問題がないことがわかったので、

BME280がちゃんと動かくか確認しようと思います。

参考サイト

こちらのサイト様を参考にさせていただきました。

データサイエンス様のサンプルコードを使わせていただきました。

BME280は秋月さんで購入。データシートなどもこちらのサイトから飛べるものを参考にしました。

用意したもの

・BME280(半田付け後のもの)

あとは毎度おなじみのこの辺

・ラズパイ3

・ブレッドボード

・ジャンパワイヤ(配線)

構成について

構成に関しては秋月さんにあるデータシートを参考にしました。

I2Cの接続方法はこんな感じで行けるッぽい。

※3: I2 C のアドレス選択は、基板の 5 番ピン (SDO) を GND に接続すると [0x76]( デフォルト )、VDD に接続すると [0x77] になります。

ということで今回5番ピンはGND接続でアドレス[0x76]を目指します。

ラズパイのGPIO状態は以下のコマンドで確認します。

$ gpio readall

電源電圧は1.71~3.6[V]ということでラズパイの3.3[V]を直接接続可能。

1ピンはVccなのでラズパイの3.3[V]に接続

2ピンはGNDに接続

3ピンは使わない

4ピンはSDA(データ)なのでGPIO2(BCM2)へ接続

5ピンは※3にありますが今回はGNDでアドレス0x76を使う

6ピンはSCL(クロック)なのでGPIO3(BCM3)へ接続

ここではI2Cを使うためのSDA、SCLはBCM2と3を使います。

※ラズパイ側はI2C接続が2つあるようで、GPIO23,GPIO24を使うことも出来るらしい。

ですが特殊な設定が必要なようです。

写真、構成図、回路図

写真見にくいですね。。

構成図と回路図は毎度おなじみfritzingで書いているのですが、BME280(AE-BME280)がデータがない。。ネットで探してみると既に作られている方が!

使わせていただきました。

動作確認

まずはi2cdetectで動作確認

ラズパイで以下をインストールします。

sudo apt-get install i2c-tools

sudo apt-get python-smbus

動作確認は以下のコマンドで実行

sudo i2cdetect -y 1

以下のように表示されればOKです。

アドレス76(0x76)が表示されてます。

これが表示されているということはBME280は動いているということですね。

・・・半田付け成功してたんだw

サンプルプログラムで動作確認

実際に温度、湿度、気圧を測定するためのコードをスイッチサイエンス様が公開してくれています。GitHubから落とすなりコピーするなりして用意します。

smbus2をimportして使っているためpipであらかじめインストールしておきます。

sudo pip install smbus2

そして実際の測定した結果がこちら。

$ python bme280_sample.py

ちゃんと表示されてますね。加湿器つけてるので湿度もまあまあ。

最後に

実は半田付けがなかなかうまくいかず

「こりゃ壊れたな・・・」

と思ってました。

ちゃんと動いてくれました!何とかなるもんだ~w

次はこれをTWELITE経由で動かそうと思ってるんですが、

できるかな・・・?

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする