注釈
こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。
参加する理由は?
エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。
学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。
独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。
特別割引:最新製品の独占割引をお楽しみください。
祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。
👉 私たちと一緒に探索し、創造する準備はできていますか?[ここ]をクリックして今すぐ参加しましょう!
5.11.3 温度 - 湿度¶
湿度と温度は、物理量自体から実際の人々の生活まで、密接に関連しています。 人間の生活環境の温度と湿度は、人体の体温調節機能と熱伝達効果に直接影響を与えます。 これはさらに思考活動と精神状態に影響を与え、私たちの学習と仕事の効率に影響を与えます。
温度は、国際単位系における7つの基本物理量の一つで、物体の熱さや冷たさを測定するために使用されます。 摂氏は、世界で広く使用されている温度尺度の一つで、"℃"という記号で表されます。
湿度は、空気中に存在する水蒸気の濃度を示します。 相対湿度は日常生活でよく使用され、%RHで表されます。相対湿度は温度と密接に関連しています。 一定の容積の密閉ガスに対して、温度が高ければ相対湿度は低く、温度が低ければ相対湿度は高くなります。
このキットには、デジタル温湿度センサであるdht11が付属しています。周囲の空気を測定するための静電容量式湿度センサとサーミスタを使用し、データピンにデジタル信号を出力します。
必要な部品
このプロジェクトでは、以下のコンポーネントが必要です。
キットを一式で購入するのは非常に便利です、リンクは以下の通りです:
名前 |
このキットのアイテム |
リンク |
|---|---|---|
3 in 1 Starter Kit |
380+ |
以下のリンクから別々に購入することもできます。
コンポーネントの紹介 |
購入リンク |
|---|---|
- |
|
- |
回路図
配線図
コード
注釈
3in1-kit\learning_project\5.11.temperature_humidityのパスの下で5.11.temperature_humidity.inoファイルを開きます。または、このコードを Arduino IDE にコピーします。
ここでは
DHT sensor libraryを使用しています。 Library Manager からインストールできます。
コードが正常にアップロードされた後、シリアルモニターが連続して温度と湿度を表示するのを見ることができます。プログラムが安定して実行されると、これらの2つの値はますます正確になります。
どのように動作するのか?
DHT.hライブラリを含めることで、DHTセンサと対話するための関数を提供します。次に、DHTセンサのピンとタイプを設定します。#include "DHT.h" #define DHTPIN 11 // DHT11データピンに接続されたピンを設定 #define DHTTYPE DHT11 // DHT 11 DHT dht(DHTPIN, DHTTYPE);
115200のボーレートでシリアル通信を初期化し、DHTセンサを初期化します。
void setup() { Serial.begin(115200); Serial.println("DHT11 test!"); dht.begin(); }
loop()関数で、DHT11センサから温度と湿度の値を読み取り、それらをシリアルモニターに表示します。void loop() { // 測定の間に数秒待機します。 delay(2000); // 温度または湿度の読み取りには約250ミリ秒かかります! // センサーの読み取りは最大2秒「古い」ものになることがあります(非常に遅いセンサーです) float humidity = dht.readHumidity(); // 温度を摂氏で読み取る(デフォルト) float temperture = dht.readTemperature(); // 読み取りが失敗したかどうかを確認して、早期に終了します(再試行するため)。 if (isnan(humidity) || isnan(temperture)) { Serial.println("Failed to read from DHT sensor!"); return; } // 湿度と温度を表示 Serial.print("Humidity: "); Serial.print(humidity); Serial.print(" %\t"); Serial.print("Temperature: "); Serial.print(temperture); Serial.println(" *C"); }
dht.readHumidity()関数は、DHTセンサから湿度値を読み取るために呼び出されます。dht.readTemperature()関数は、DHTセンサから温度値を読み取るために呼び出されます。isnan()関数は、読み取りが有効であるかどうかを確認するために使用されます。湿度または温度の値がNaN(数値でない)の場合、センサーからの読み取りに失敗したことを示し、エラーメッセージが表示されます。