ESP32買った(5)BEM280で温湿度気圧読み込み(リハビリ中)

 だいぶほったらかしなので、リハビリ

取りあえず、BME280を接続して温湿度気圧を読み込もう。なんか以前プログラムだけは作っているけど、それを確認するために(環境も変わっているので)

接続ですが。少し細身のNodeMCUを使っている。(書き込みをミスるという評判だが)。アンテナを上にして、左側の一番が3.3V、左側の一番下が5Vになっているピン構成だ。

ピン配置の画像は https://www.espboards.dev/esp32/nodemcu-32s/ にある。

BME280は秋月のモジュールでJ3をショートさせてI2C通信ができるようにしてある。

正面からVDD、GND、CSB 、SDI、SDO、SCKとなっている。

VDDをNodeMCUの左の1番目3.3Vに接続

GNDをNodeMCUの左の14番目(下から6番目)GNDに接続

CSBは空き

SDIをNodeMCUの右の6番目 GPIO21に接続

SDOをGNDに接続

SCKをNodeMCUの右の3番目 GPIO22に接続

で接続。

まず、ライブラリーに finitespace/BME280 を使う(使っていた)最新バージョンがDec xx, 2018. - Version 3.0.0 pending (A lot)なので、当時も同じものを使っていたと思う。これをArduino IDEにインストールし以下のほとんどサンプルそのままを記入しコンパイルして書き込む。書き込む際はUSBの右側のIO0を押しながら書き込む

#include <BME280I2C.h>
#include <Wire.h>

#define SERIAL_BAUD 115200

BME280I2C bme;

void setup()
{
  Serial.begin(SERIAL_BAUD);

  Wire.begin();

  while(!bme.begin())
  {
    Serial.println("Could not find BME280 sensor!");
    delay(1000);
  }
}

void loop()
{
   float temp, hum, pres;
   BME280::TempUnit tu(BME280::TempUnit_Celsius);
   BME280::PresUnit pu(BME280::PresUnit_hPa);

   bme.read(pres, temp, hum, tu, pu);

   Serial.print("Sec: " + String(millis()/1000));
   Serial.print("\t\tTemp: " + String(temp) + "°C");
   Serial.print("\t\tHumidity: " + String(hum) + "% RH");
   Serial.println("\t\tPressure: " + String(pres) + " hPa");

   delay(5000);
}

 で取りあえず動いた

コメント

このブログの人気の投稿

ImDisk Toolkitが開発終了していた。AIM Toolkitに乗り換え

Windows 10 デフォルトゲートウェイに0.0.0.0が追加される

iOS VLC でSMB共有できなかった点について