
Arduino Nanoを用いて温湿度センサを実装したので、そのやり方について紹介したいと思います。
この記事を読むことで、安価なマイコンであるArduino Nanoで温湿度センサが実装できるようになります。
今回の温湿度センサはかなり安価なセンサで、高価なものと比べると性能は劣るものの、簡単なIoTモジュール、デバイスの開発ができ、室温の管理から、冷房の開発まで可能となります。
ESP32版はこちら
www.takeshi-1222.com
Arduino Nano, DHT-11の簡単な説明
Arduino Nano
Arduino Nanoは超安価で購入ができるマイコンで、電気やプログラミングの深い知識を持っていない電子工作初心者でも扱いやすい、オープンソースマイコンです。
Arduinoと比較すると、性能は劣るものの、安価で広い用途で使用可能なので初心者に適しています。
リンク
ちなみに、上記が純正品ですが、互換品である以下も性能面では変わらないので強いこだわりがない限りは、互換品の方がおすすめです。
リンク
温湿度センサ (DHT-11)
温湿度センサはそのままの意味で、温度と湿度の計測が可能で、さらにそれらの値から不快感を測る指標である不快指数も算出することが可能です。また、かなり安価で入手が可能であるため、電子工作やIoT、DIYの初心者でも手が出しやすいものだと思います。
リンク
実験構成
今回の実験に使用する部品は以下のものです。
- Arduino Nano
- 温湿度センサ (DHT-11)
- ジャンパ線多数
Arduino Nano、温湿度センサは上記のものを使用しています。
ジャンパ線は何を使用してもいいですが、一応リンクを張っておきます。
リンク
実験
配線
まず配線は以下のようにします。

配線ができると以下のような画像のようになります。

実行コード
ここまで出来たら以下のコードを実行することで動作確認ができます。
#include "DHT.h"
#define DHT_Pin 2
#define DHT_Type DHT11
DHT dht(DHT_Pin, DHT_Type);
float humidity = 0.0f;
float tempC = 0.0f;
float tempF = 0.0f;
float discomfortIndex = 0.0f;
bool isFahrenheit = true;
void setup() {
Serial.begin(9600);
Serial.println("DHT11 Lesson11");
dht.begin();
}
void loop() {
delay(2000);
humidity = dht.readHumidity();
tempC = dht.readTemperature();
tempF = dht.readTemperature( isFahrenheit );
if (isnan(humidity) || isnan(tempC) || isnan(tempF)) {
Serial.println("Read failure!");
return;
}
discomfortIndex = 0.81f * tempC + 0.01f * humidity * (0.99f * tempC - 14.3f) + 46.3f;
Serial.print(humidity);
Serial.print(" ");
Serial.print(tempC);
Serial.print(" ");
Serial.println(discomfortIndex);
}
今回は温度、湿度、不快指数をシリアルモニタで確認できるようにしています。

これらの値を使って、いろんなIoT機器を製作できるようになります。
まとめ
今回は、Arduino Nanoで温湿度センサを動かすために必要なものの紹介と、サンプルプログラムの紹介をしました。