2年目のラズパイ15日目...ESP32+BME280

引き続きESP32です。BOSCH製の温湿度・気圧センサーBME280を接続し、値を読み込み、先週のOLEDに表示するまでを頑張ります。

BME280は、秋月で買うと1,080円です。海外通販だと2-300円だそうです。送られてくるまで日数はかかるそうですが。 上位機種のBME680というのもあり、3項目に加えて空気中のガス濃度を測定してくれます。

BME280は 、ラズパイに接続しAmbientのクラウドに値を15分毎に送るのに使ってます。linuxでの設定は結構簡単だった記憶です。

BME280のドライバーは先人の知恵をいただきます。
https://github.com/catdog2/mpy_bme280_esp8266/blob/master/bme280.py

参考ページは、この辺で
https://qiita.com/tshimizu8/items/e64e1af656b3b00a92d9

 I2C接続のマスターはESP32なのでスレーブ側のセンサー等はバス接続でSCLとSDAの2線を共通にどんどん接続することが出来ます。
ただし、I2C アドレスが競合するとよくないので、その辺はそれぞれのデバイスのデーターシートをよく確認する必要があります。
 BM280の接続は、以下のとおりです。
1pin VDD
2pin GND
3pin CSB→VDD チップセレクトとありますが、I2Cは関係ないそうです。
4pin SDA
5pin SDO→GND I2C ADDR 0x76になります
6pin SCL

いきなり成果写真になってますが、BME280はOLEDの隣に設置し、SDAとSCLをOLED経由でバス接続で延ばして接続します。

 
OLED にセンサーから読み取った温度、湿度、気圧が30秒更新され表示されてます。
母艦PCのuPyCraftの通信状況部分にも確認のためprint文で表示させ、OLEDの表示とあってるか確認しました。モニター画面反射してますがすいません。
OLEDの日本語化とか最新データのグラフ化とか使い方はまだまだあります。
pythonコードは、以下のとおりです。

0 件のコメント:

コメントを投稿

ラズパイ日記...esp32(arduino)+mpu6050

# esp32で6軸センサー読み出し esp32で6軸センサーを読み出し、値をグラフ表示して動作を確認します。 ## 準備 ハード的な接続は、センサーが3.3V駆動できるので、3.3VとGNDの2線で電源供給します。I2C用にSDAとSCLのデータ線が必要ですが、esp...