hiro yamamoto works

ESP8266 Web logger
RaspberryPi HiRes Audio
Mini Solar power system
当ブログ掲載内容は無保証です。利用は自己責任でお願いいたします。

 

カレンダー

2020
October
Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

QRコード

検索



このブログを検索

カウンター

本日のアクセス
昨日のアクセス
総アクセス数

ブログサービス

Powered by

teacup.ブログ
RSS

BME280を2個使って温湿度気圧測定

ESPr-oneにBME280を2個つないで測定できました。
(設定できるI2Cアドレスが2つなので2個です。)

BME280センサモジュールはアマゾンで購入した、3個入
1,880円です。このモジュールはレギュレータとレベル
変換が載っており、5Vの電源とロジックで使用できます。
I2C信号のプルアップ抵抗10kΩも付いています。

I2Cアドレス設定
センサ近くの3つ並んだパッドを接続して設定します。
初期設定は0x76になっています。
(中央と左側パッドはパターン接続されています。)
クリックすると元のサイズで表示します

0x77設定するときは、中央と左側パッド間のパターンを
カットし、中央と右側をはんだブリッジ接続します。
クリックすると元のサイズで表示します

センサは電源&ロジック5Vで接続するのでESPr-one側に
レベル変換を入れてます。
(AE-PCA9306 M-05452 ¥150 秋月電子)
クリックすると元のサイズで表示します

センサはLANケーブルで接続していますが、
直接つないでも良いです。
クリックすると元のサイズで表示します
(2m程度の延長を想定してLANケーブル接続してます。)
(RTCとSDメモリはテストに関係なし)

Arduino用スケッチ例
SparkFun BME280 Example1_BasicReadingsを
改変して動作テストしてみました。
クリックすると元のサイズで表示します
ざっくり説明(スクリーンショットを見て下さい。)
BME280 mySensor;の行を修正して次の2行にする。
BME280 mySensor1;
BME280 mySensor2;


次の2行をWire.begin();のあとに追加
mySensor1.setI2CAddress(0x76);
mySensor2.setI2CAddress(0x77);


if (mySensor.beginI2C() == false) {の行を修正
if (! mySensor1.beginI2C() || ! mySensor2.beginI2C()) {
//どちらかのセンサ応答がなければシリアルモニタへメッセージ出力&停止


void loop()中のセンサ値を表示させるSerial.print行の
mySensorをmySensor1またはmySensor2へ修正と追加

オリジナルをmySensor1に修正して、コピぺ
mySensor1をmySensor2に修正すれば2個のセンサー値が
表示されると思います。
湿度、気圧、標高?、温度の単位表示を追加してあります。
スケッチの抜粋
Serial.print("Sensor1 : "); Serial.print("Humidity: ");
Serial.print(mySensor1.readFloatHumidity(), 1); Serial.print(" %");

Serial.print(" Pressure: ");
Serial.print(mySensor1.readFloatPressure()/100, 1); Serial.print(" hPa");

Serial.print(" Alt: ");
Serial.print(mySensor1.readFloatAltitudeMeters(), 1); Serial.print(" m");
//Serial.print(mySensor1.readFloatAltitudeFeet(), 1);

Serial.print(" Temp: ");
Serial.print(mySensor1.readTempC(), 2); Serial.println(" ℃");
//Serial.println(mySensor1.readTempF(), 2);

Serial.print("Sensor2 : "); Serial.print("Humidity: ");
Serial.print(mySensor2.readFloatHumidity(), 1); Serial.print(" %");

Serial.print(" Pressure: ");
Serial.print(mySensor2.readFloatPressure()/100, 1); Serial.print(" hPa");

Serial.print(" Alt: ");
Serial.print(mySensor2.readFloatAltitudeMeters(), 1); Serial.print(" m");
//Serial.print(mySensor2.readFloatAltitudeFeet(), 1);

Serial.print(" Temp: ");
Serial.print(mySensor2.readTempC(), 2); Serial.println(" ℃");
//Serial.println(mySensor2.readTempF(), 2);
Serial.println("");

クリックすると元のサイズで表示します

シリアルモニタの表示はこちら
クリックすると元のサイズで表示します
ESPr-One(ESP-WROOM-02)での記事ですが、Arduinoでも
使えると思います。
興味がある方はお試し下さい。

無保証自己責任でよろしくお願いします。
0
投稿者:管理人
1 | 《前のページ | 次のページ》
/1 
 
AutoPage最新お知らせ