ESP-WROOM-02 Arduino互換ボードで温湿度センサーを使う


スイッチサイエンス製 ESP-WROOM-02 Arduino互換ボード

スイッチサイエンスからESP-WROOM-02 Arduino互換ボードが発売されました。今まではESP-WROOM-02(ESP8266)をArduinoのスケッチを書き込んで使うためには、モジュールをはんだ付けしてブレッドボード上で使用したりと少々使いづらい部分がありました。それをこの互換ボードが解消してくれます

ESP-WROOM-02 Arduino互換ボード

ESP-WROOM-02 Arduino互換ボードと温湿度センサーを使ってみよう

ESP-WROOM-02 Arduino互換ボードとタクトスイッチを使って、温湿度センサー(DHT11)で取得した温度・湿度・体感温度をArduino IDEのシリアルモニターに表示します(ネットには接続しません)。細かな設定は記事「ESP-WROOM-02開発ボードをArduino IDEで開発する方法」をご覧ください

電子部品リスト

ESP-WROOM-02 Arduino互換ボードと電子工作に必要なもろもろの道具以外に必要な電子部品のリスト。

部品名 個数 価格
温湿度センサー 1 300円
10kΩ抵抗 1 実質1円

配線図

温湿度センサーの信号線はIO12へ接続します。

FritzingにESP-WROOM-02 Arduino互換ボードのパーツがないため、Arduino Unoを見た目上使用しています

スケッチ

DHT-sensor-libraryをArduino IDEにインストールしてください。

// ライブラリを読み込む
#include "DHT.h"

// 温湿度センサーを接続するピン
#define SENSOR_PIN 12
// 温湿度センサーの種類
#define DHT_TYPE DHT11
// 温湿度センサーのインスタンス
DHT dht(SENSOR_PIN, DHT_TYPE);

void setup() {
  Serial.begin(115200);
  // 温湿度センサーを初期化
  dht.begin();
}

void loop() {
  // DHT11のサンプリング間隔が2秒以上のため、
  // 処理を2秒間止める
  delay(2000);

  // 湿度を取得
  float humidity = dht.readHumidity();
  // 温度を取得
  float temperature = dht.readTemperature();

  // センサーから値を取得できたか判定
  if (isnan(humidity) || isnan(temperature)) {
    Serial.println("sensor error.");
    // loop()関数の始めに戻る
    return;
  }

  // 湿度と温度を基に体感温度(熱指数)を算出
  float heatIndex = dht.computeHeatIndex(temperature, humidity, false);

  // シリアルモニターに値を表示
  // 湿度
  Serial.print("Humidity: ");
  Serial.print(humidity);
  Serial.print(" % ");
  // 温度
  Serial.print(" Temperature: ");
  Serial.print(temperature);
  Serial.print(" *C ");
  // 体感温度(熱指数)
  Serial.print("HeatIndex: ");
  Serial.print(heatIndex);
  Serial.println(" *C");
}