記事一覧へ戻る
Arduino/初級/7分で読める/

ArduinoでDHT11温湿度センサーを読む配線とコード

DHT11は温度と湿度を読み取れる入門向けセンサーです。基板付きモジュールか単体センサーかでプルアップ抵抗の扱いが変わるため、部品の形を確認してから配線します。

WIRING ORDER

配線順序プレビュー

レッスン用図解
Tsunagu IoT Learn / Arduino
  1. 1STEP 1DHT11 VCC から Arduino 5V へ
    ここから
    DHT11 VCC
    ここへ
    Arduino 5V

    確認: 基板付きモジュールではVCC表記の場合があります。

  2. 2STEP 2DHT11 DATA から Arduino D2 へ
    ここから
    DHT11 DATA
    ここへ
    Arduino D2

    確認: コードではDHT_PINを2にします。

  3. 3STEP 3DHT11 GND から Arduino GND へ
    ここから
    DHT11 GND
    ここへ
    Arduino GND

    確認: 電源と信号の基準を共通にします。

  4. 4STEP 4DHT11 VCC から プルアップ抵抗を通して DHT11 DATA へ
    ここから
    DHT11 VCC
    プルアップ抵抗
    ここへ
    DHT11 DATA

    確認: 単体センサーでは10kΩ前後のプルアップ抵抗を入れます。基板付きモジュールでは実装済みの場合があります。

用意するもの

  • Arduino Uno
  • DHT11温湿度センサーまたはDHT11モジュール
  • 10kΩ前後の抵抗(単体センサーで必要)
  • ブレッドボード
  • ジャンパーワイヤー

配線

接続元接続先確認点
DHT11 VCCArduino 5V基板付きモジュールではVCC表記の場合があります。
DHT11 DATAArduino D2コードではDHT_PINを2にします。
DHT11 GNDArduino GND電源と信号の基準を共通にします。
DHT11 VCCDHT11 DATA単体センサーでは10kΩ前後のプルアップ抵抗を入れます。基板付きモジュールでは実装済みの場合があります。

配線元、配線先、コードのピン番号を同じ画面で確認できます。

手順

  1. 1DHT11が基板付きモジュールか単体センサーかを確認します。
  2. 2VCC、DATA、GNDをArduinoへ接続します。
  3. 3単体センサーの場合はVCCとDATAの間にプルアップ抵抗を入れます。
  4. 4Arduino IDEでDHT sensor libraryを準備します。
  5. 5スケッチを書き込み、シリアルモニターを9600bpsで開きます。

DHT11をD2で読むArduinoスケッチ

cpp
#include <DHT.h>

const int DHT_PIN = 2;
const int DHT_TYPE = DHT11;

DHT dht(DHT_PIN, DHT_TYPE);

void setup() {
  Serial.begin(9600);
  dht.begin();
}

void loop() {
  float humidity = dht.readHumidity();
  float temperature = dht.readTemperature();

  if (isnan(humidity) || isnan(temperature)) {
    Serial.println("読み取りに失敗しました");
    delay(2000);
    return;
  }

  Serial.print("温度: ");
  Serial.print(temperature);
  Serial.print(" C / 湿度: ");
  Serial.print(humidity);
  Serial.println(" %");
  delay(2000);
}

動かないときの確認

  • DATA線がD2につながっているか
  • VCCとGNDを逆にしていないか
  • 単体センサーでプルアップ抵抗を入れているか
  • DHT11なのにDHT22設定にしていないか

よくあるミス

  • センサーの正面と背面を見間違えてピン順を逆にする
  • 読み取り間隔を短くしすぎる
  • DHTライブラリを入れずにコンパイルする

次に試すこと

温湿度が読めたら、一定温度を超えたらLEDを点灯するなど、センサー値を使った制御へ進むと実用に近づきます。

デモで配線を確認する