温度と湿度センサーモジュール(DHT11)¶
概要¶
デジタル温度湿度センサーDHT11は、温度と湿度の較正済みデジタル信号出力を有する複合センサーです。この製品は専用のデジタルモジュール技術と温湿度センシング技術を組み合わせており、高い信頼性と優れた長期安定性が保証されています。
このセンサーは、抵抗性湿度検知コンポーネントとNTC温度計測デバイスを内蔵し、高性能8ビットマイクロコントローラーと接続されています。
原理¶
利用可能なピンはVCC、GND、DATAの3つだけです。通信プロセスは、DATAラインからDHT11にスタート信号を送ることで始まり、DHT11はこの信号を受けて応答信号を返します。その後、ホストは応答信号を受け取り、40ビットの湿度と温度データ(8ビット湿度整数 + 8ビット湿度小数 + 8ビット温度整数 + 8ビット温度小数 + 8ビットチェックサム)を受け取ります。
使い方¶
使用する電子部品
Arduino Uno R4またはR3ボード * 1
温度と湿度センサーモジュール(DHT11) * 1
ジャンパーワイヤー
回路の組み立て
コード¶
注釈
ライブラリをインストールするには、Arduinoのライブラリマネージャーで "DHT sensor library" を検索してインストールしてください。
コードの説明¶
必要なライブラリと定数の定義。 この部分ではDHTセンサーライブラリを含め、このプロジェクトで使用されるピン番号とセンサータイプを定義しています。
注釈
ライブラリをインストールするには、Arduinoのライブラリマネージャーで "DHT sensor library" と検索してインストールしてください。
#include <DHT.h> #define DHTPIN 2 // Define the pin used to connect the sensor #define DHTTYPE DHT11 // Define the sensor type
DHTオブジェクトの作成。 ここで、定義したピン番号とセンサータイプを用いてDHTオブジェクトを作成します。
DHT dht(DHTPIN, DHTTYPE); // Create a DHT object
Arduinoが起動したときに一度だけ実行される関数。 この関数でシリアル通信とDHTセンサーを初期化します。
void setup() { Serial.begin(9600); Serial.println(F("DHT11 test!")); dht.begin(); // Initialize the DHT sensor }
メインループ。
loop()
関数はsetup関数の後に繰り返し実行されます。ここでは、湿度と温度の値を読み取り、ヒートインデックスを計算し、これらの値をシリアルモニターに表示します。センサーの読み取りが失敗する(NaNを返す)場合、エラーメッセージが表示されます。注釈
heat index は、気温と湿度を組み合わせて、外部の暑さを感じる度合いを測定する方法です。これは「体感気温」または「顕在温度」とも呼ばれます。
void loop() { delay(2000); float h = dht.readHumidity(); float t = dht.readTemperature(); 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); 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")); }
追加アイデア¶
LCDまたはOLEDディスプレイでの読み取り値の表示
その他のプロジェクト¶
iot_Plant_monitor