こんにちは!今回は、DHT11センサーを使って温度と湿度を測定するプログラムを紹介します。このプログラムは、Arduinoを使って簡単に実装できます。
必要な部品
- Arduinoボード
- DHT11センサー
- ジャンパーワイヤー
下準備
DHTライブラリをインクルードするには、Arduinoのライブラリマネージャーで『DHT Sensor library』と検索してインストールしてください。
回路(写真)
プログラムの説明
#include <DHT.h>
#define DHTPIN 2 // センサーを接続するために使用するピンを定義する
#define DHTTYPE DHT11 // 接続するセンサの種類を定義する
DHT dht(DHTPIN, DHTTYPE); // DHTオブジェクトを作成する
void setup()
{
// シリアル通信を初期化する
Serial.begin(9600);
Serial.println(F("DHT11 test!"));
dht.begin(); // DHTセンサを初期化する
}
void loop() {
delay(2000);
// 温度や湿度の読み取りには約 250 ミリ秒かかる
// センサーの読み取り値は最大 2 秒古い可能性があります (非常に遅いセンサーです)
float h = dht.readHumidity();
// 温度を摂氏で読み取る(デフォルト)
float t = dht.readTemperature();
// 温度を華氏で読み取る (isFahrenheit = true)
float f = dht.readTemperature(true);
// 読み取りに失敗したかどうかを確認し、早期に終了する (再試行するため)。
if (isnan(h) || isnan(t) || isnan(f))
{
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
// 熱指数を華氏で計算する(デフォルト)
float hif = dht.computeHeatIndex(f, h);
// 熱指数を摂氏で計算する (isFahreheit = false)
float hic = dht.computeHeatIndex(t, h, false);
// 湿度、温度、熱指数の値をシリアルモニターに出力する
Serial.print(F("Humidity: "));
Serial.print(h);
Serial.print(F("% Temperature: "));
Serial.print(t);
Serial.print(F("°C "));
Serial.print(f);
Serial.print(F("°F Heat index: "));
Serial.print(hic);
Serial.print(F("°C "));
Serial.print(hif);
Serial.println(F("°F"));
}
1. DHTライブラリのインクルード
#include <DHT.h>でDHTライブラリをインクルードします。2. ピンとセンサータイプの定義
#defineを使って、センサーを接続するピンとセンサーのタイプを定義します。
3. DHTオブジェクトの作成
DHT dht(DHTPIN, DHTTYPE);でDHTオブジェクトを作成します。
4. センサーの初期化
dht.begin();でセンサーを初期化します。
5. 測定と表示
dht.readHumidity()やdht.readTemperature()を使って湿度と温度を測定し、シリアルモニターに表示します。
出力結果
Humidityが湿度、Temperatureが温度、Heat indexが熱指数を表しています。
このプログラムを使えば、簡単に温度と湿度を測定できます。ぜひ試してみてください!




