今回は温度と湿度を測るセンサーを使っていきたいと思います。
目次
温湿度センサー:DHT11
今回使うパーツはDHT11(モジュール化されてるもの)です!
見た目は画像のような感じで、水色の部分が目印?のセンサーです。
割と簡単な配線で温度と湿度を測ることができます。
今回の回路図
結構簡単な感じの回路です。
No. | 部品 | 数量 |
1 | DHT11 | 1 |
2 | ArduinoUNO | 1 |
3 | ブレッドボード | 1 |
4 | ジャンプワイヤー | 3 |
5 | USBケーブル(A-B) | 1 |
今回のスケッチ
今回のスケッチを描くにあたって、ライブラリをインストールしていきます。
「DHT sensor library by Adafruit」を検索して、インストールを押します。するとこのライブラリを使うのに必要な別のライブラリも一緒にインストールするか聞かれるので、「Install all」をクリックしてインストールしていきます。
今回のスケッチです。ライブラリを使っているのでなしで書くよりはるかに楽にできます。
//parts_1_DHT11
//温湿度センサーで温度と湿度を測定
#include <DHT.h> // ライブラリをインクルード
#define DHTPIN 4 // センサとつなげるデジタルピンを定義
#define DHTTYPE DHT11 // 使用するセンサの型定義
DHT dht(DHTPIN, DHTTYPE); //センサを初期化
//起動時の処理
void setup() {
Serial.begin(9600); //シリアル通信の転送レート指定
Serial.println("START");
dht.begin(); //センサー開始
}
//繰り返し処理
void loop() {
//待ち時間 2000m秒=2秒
delay(2000);
float humi = dht.readHumidity(); //湿度の読み取り
float tempc = dht.readTemperature(); //温度(摂氏)の読み取り
float tempf = dht.readTemperature(true); //温度(華氏)の読み取り_関数()内をtrueにすると華氏モードになる
//値を読み取れているか確認
if (isnan(humi) || isnan(tempc) || isnan(tempf)) {
Serial.println("Faild!");
return;
}
//シリアルモニターに測定値を表示
Serial.print("humi%: ");
Serial.println(humi);
Serial.print("TempC: ");
Serial.println(tempc);
Serial.print("TempF: ");
Serial.println(tempf);
}
実践結果
書き込みが出来たら、シリアルモニターで測定できているか確認してみます。
ちなみに「Serial Plotter」を開いてみるとした画像のようなグラフを見ることもできます。
感想
センサーの中では有名どころの温度湿度の測定でDHT11を使ってみました。
今回測ってみて、室温23℃くらい、湿度56%くらいだったので結構過ごしやすい部屋環境なのかなと思いました。もちろん多少誤差はあるとは思いますが…😅
コメント