ホーム > カテゴリ > ロボット・電子工作・マイコン >

温湿度センサー(DHT系)の使い方 [Arduino]

温湿度センサーを使用して「温度、湿度、体感温度」を取得します。

実行結果

同じ部屋にある温度、湿度計

※どちらが正しいのか不明です。

今回のスケッチではDHT系の専用ライブラリを使用していますので「DHT11/DHT22/DHT21/AM2301」の機種でご利用可能です。AM2302/AM2322などは未確認ですがライブラリを修正すればいけると思います。

使用ライブラリ

adafruitのオープンソースのDHT-sensor-library(ダウンロード)です。

その他にAdafruit_Sensor.h(名前を付けて保存)も必要です。このAdafruit_Sensor.hはDHTセンサーライブラリをインストールしたフォルダ内においてください。

ZIP形式のライブラリをArduino IDEにインストールするにはIDEメニューの[スケッチ][ライブラリをインクルード][ZIP形式のライブラリをインストール]でZIPファイルを選択すればOKです。

インストール先は

C:\Users\ユーザー名\Documents\Arduino\libraries

です。

使用部品・材料

総額で約570円です。(Arduino本体の値段を除く)

部品/材料値段備考
ブレッドボード¥270秋月電子の通販コード(P-00315)
温湿度センサ モジュール DHT11¥300秋月電子の通販コード(M-07003)
カーボン抵抗器数円10kΩ(1個)を使用。

配線図

10kΩでプルアップしていますが、本来は5.1kΩで良いようです。

スケッチ(プログラム)

シリアルモニターに温度、湿度、体感温度を表示します。

#include <DHT.h>

// DHTクラスの生成
// ※Arduinoのデジタル8ピンでDHT11センサーを接続する
DHT dht(8, DHT11);

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

  // 湿度
  float humidity = dht.readHumidity();
  // 温度
  float temperature = dht.readTemperature();
 
  if (isnan(humidity) || isnan(temperature)) {
    Serial.println("センサーから読み取りに失敗しました。");
    return;
  }

  // 体感温度
  float heatIndex = dht.computeHeatIndex(temperature, humidity, false);

  Serial.print("温度:");
  Serial.print(temperature);
  Serial.print("℃ 湿度:");
  Serial.print(humidity);
  Serial.print("% 体感温度:");
  Serial.print(heatIndex);
  Serial.println("℃");
}

以上となります。





掲示板

ArduinoやRaspberry Piなどの電子工作の掲示板を作成しました。質問やわからない事は電子工作 (Arduino・ラズパイ等)でユーザー同士で情報を共有して下さい。

関連記事



公開日:2017年06月21日
記事NO:02435


この記事を書いた人

💻 ITスキル・経験
サーバー構築からWebアプリケーション開発。IoTをはじめとする電子工作、ロボット、人工知能やスマホ/OSアプリまで分野問わず経験。

画像処理/音声処理/アニメーション、3Dゲーム、会計ソフト、PDF作成/編集、逆アセンブラ、EXE/DLLファイルの書き換えなどのアプリを公開。詳しくは自己紹介へ
プチモンテ代表、アーティスト名:プチモンテ
🎵 音楽制作
BGMは楽器(音源)さえあれば、何でも制作可能。歌モノは主にロック、バラード、ポップスを制作。歌詞は叙情詩、叙情的な楽曲が多い。楽曲制作は2023年12月中旬 ~

オリジナル曲を始めました✨

YouTubeで各楽曲を公開しています🌈
https://www.youtube.com/@petitmonte

【男性ボーカル】DA・KA・RA | 新たな明日が風と共に訪れる

【男性、女性ボーカル】時空を超越する先に | 時空と風の交響曲

【女性、男性ボーカル】絆 | 穏やかな心に奏でる旋律