DHT11温度・湿度センサーのArduinoコードと動画
このチュートリアルでは、DHT11 温度・湿度センサーを Arduino で使用する方法を解説します。このセンサーは温度と湿度の両方を測定できる低コストの選択肢で、さまざまなプロジェクトに最適です。配線、必要なコード、およびコンポーネントがどのように連携して正確な測定値を提供するかを説明します。

このチュートリアルを終える頃には、DHT11センサーから摂氏、華氏、ケルビンの温度と湿度の値を読み取れるようになります。さらに分かりやすくするために、指定されたタイムスタンプ(ビデオの00:00)を必ず確認してください。
ハードウェア解説
DHT11センサーは、GND(接地)、電源、データの3本のピンで構成されています。GNDピンはArduinoのGNDに接続され、電源ピンはArduinoからの5V供給に接続されます。データピンはArduinoとセンサー間の通信を担当し、Arduinoが温度と湿度の値を読み取れるようにします。
このセンサーはデジタル出力を採用しており、データをシリアル形式でArduinoに送信します。温度測定用のサーミスタと容量性の湿度センサーを内蔵しています。DHT11は受け取ったアナログ信号をデジタル信号に変換するため、Arduinoのようなマイクロコントローラがデータを処理しやすくなります。
データシートの詳細
| 製造元 | エーエスエーアイアール |
|---|---|
| 部品番号 | DHT11 |
| ロジック/入出力電圧 | 3.3~5.5V |
| 電源電圧 | 3.3〜5.5 V |
| 出力電流(チャンネルごと) | 0.5 mA |
| ピーク電流(チャンネルあたり) | 2.5 mA |
| PWM周波数に関するガイダンス | 該当なし |
| 入力ロジックの閾値 | 0.3×VディーディーVの0.7倍までディーディー |
| 電圧降下 / Rドレイン・ソース(オン)/ 飽和 | 該当なし |
| 温度制限 | 0〜60℃ |
| パッケージ | 4ピンDIP |
| 備考 / バリエーション | 低コストで使いやすい |
- 動作電圧:3.3V~5.5V
- 最大出力電流:2.5 mA
- 温度範囲:0~60℃。
- 湿度範囲:20%~90%。
- 安定した読み取りを得るために、データピンにプルアップ抵抗を使用してください。
- フローティング入力を避けるため、適切に接続してください。
- 電源を接続する際は極性の逆転に注意してください。
- 正確な結果を得るために、読み取りを少なくとも1秒遅らせてください。
配線手順

DHT11センサーをArduinoに配線するには、次の手順に従ってください:
まず、DHT11のグランドピン(通常は黒または茶色)をArduinoのグランド(GND)に接続します。次に、DHT11の電源ピン(通常は赤)をArduinoの5V出力に接続します。最後に、データピン(通常は黄または白)をArduinoのデジタルピン2に接続します。通信を安定させるために、データピンと電源ピンの間にプルアップ抵抗(約10kΩ)を必ず使用してください。
コード例と解説
Arduinoのコードでは、まずDHT11センサー用の必要なヘッダファイルをインクルードします:
#include この行は、DHT11センサーとやり取りするために必要な関数を含むライブラリをインポートします。次に、DHT11クラスのインスタンスを作成します:
dht11 DHT11; // create object of DHT11この行は、センサーからデータを読み取るために使用するDHT11オブジェクトを初期化します。DHT11に接続されているピンは次のように定義されています:
#define dhtpin 2 // set the pin to connect to DHT11これはセンサーのデータピンをArduinoのピン2に設定します。においてloop()関数ではセンサーのデータを読み取ります:
DHT11.read(dhtpin);// initialize the readingこの行は読み取りプロセスを開始し、湿度は次のように取得できます:
int humidity = DHT11.humidity;// get humidity湿度の値は変数に格納されます。humidityそれは摂氏、華氏、ケルビンに変換された温度値とともにシリアルモニタに表示されます。
デモンストレーション / 当日の内容
コードを実行すると、シリアルモニターに温度と湿度の読み取り値が表示されるはずです。温度の読み取りは0.5秒ごとに更新されます(動画の00:00で確認できます)。センサーを加熱または冷却すると、値がそれに応じて変化するのがわかります。注意してください。DHT11の最大温度は60°C(摂氏)で、これを超えると読み取り値が不正確になる可能性があります。
動画のタイムスタンプ
- 00:00- DHT11センサーの紹介
- 01:30- 配線手順
- 午前02:15- コードの概要
- 午前03:00- コードの実行と期待される出力
リソースと参考文献
-
外部GitHub上のDHT11ライブラリgithub.com
ファイル📁
Arduinoライブラリ(zip)
-
Arduino用DHT22ライブラリ
robojax-DHT22_library.zip0.01 MB
フリッツィングファイル
-
Temperature Sensor DHT11
application/zip0.01 MB
ユーザーマニュアル
-
DHT11 ユーザーマニュアル
robojax-DHT11_manual.pdf0.82 MB