Device
気圧・温湿度計

気圧・温湿度計

概要

  • 気圧・温湿度計の単体テストを行うためのページ
  • 気圧から高度が計算できる

機器詳細

気圧・温湿度センサ BME280

回路図(秋月電子)

素子 PinArduino Pin備考
VDD3V33.3V 電源
GNDGNDGND
SDIA4 (SDA)I2C のシリアルデータ
SCKA5 (SCL)I2C のシリアルクロック
SDOGNDI2C のアドレス選択ピン。ここでは GND
CSB-通信設定。 VDD にするが,ここでは, J3 でジャンパさせているので未接続。
  • 通信は I2C
  • 電圧は 3.3V
    • I2C の信号線は,レベル変換を挟むとなお良い
  • J1, J2, J3 をはんだでショートさせ, I2C として使う

回路図(スイッチサイエンス)

素子 PinArduino Pin備考
Vcore3V33.3V 電源
Vio3V3I2C のプルアップ電圧
GNDGNDGND
SDIA4 (SDA)I2C のシリアルデータ。 Vio でプルアップする
SCKA5 (SCL)I2C のシリアルクロック。 Vio でプルアップする
SDOGNDI2C のアドレス選択ピン。ここでは GND
CSB3V3通信設定。 Vcore にする
  • 通信は I2C
  • 電圧は 3.3V
    • I2C の信号線は,レベル変換を挟むとなお良い
  • I2C のプルアップ抵抗値はこの図の値から多少ずれても問題ない
    • I2C のバスラインに他のセンサが接続されており,そちらでプルアップされている場合は,プルアップ抵抗は不要

注意

  • このサンプルでは,秋月電子もスイッチサイエンスでも, I2C のアドレスが同一である。複数のセンサを用いたいなど,アドレスを変えたい場合は, SDO ピンを VDD o Vcore に変更するとよい。

ソースコード

test_baro_thermo_hygrometer.ino
#include <CanSatSchool.h>
 
// 気圧・温湿度計を宣言
BaroThermoHygrometer bth;
 
void setup()
{
    // ロガーを初期化
    logger.enableComputer();
 
    // Wire (Arduino-I2C) を初期化
    // 気圧・温湿度計は I2C を使用するためこれが必要
    Wire.begin();
 
    // 気圧・温湿度計を初期化
    bth.init();
 
    delay(500);
}
 
void loop()
{
    // 気圧,温度,湿度を取得してシリアルモニタに表示
    logger.info(bth.read());
 
    // 気圧を取得して変数に代入したい場合
    // float pressure = bth.read().pressure;  // [hPa]
 
    // 温度を取得して変数に代入したい場合
    // float temperature = bth.read().temperature;  // [°C]
 
    // 湿度を取得して変数に代入したい場合
    // float humidity = bth.read().humidity;  // [%]
 
    // 1s 待つ
    delay(1000);
}
 

GitHub (opens in a new tab)