Arduino Unoを利用した電子工作を学習する講座シリーズ。Arduino工作講座の第14弾。この講座では、DHT22 温度湿度センサを使って、気温を測定する方法を学ぶことができます。DHT11というセンサーもあります。基本は同じになります。DHT11の方が、安価で利用しやすいと思います。おすすめのセットにはDHT11が入っています。
Arduino工作講座 気温を測定してみよう
このレッスンは カスタムライブラリのスケッチ例 SimpleDHT DHT22Defaultのサンプルプログラムを参考にさせていただいています。
この講座をクリアするとDHT22 温度湿度センサを使って、気温を測定する方法を学ぶことができるようになります。
必要となる部品
- Arduino Uno
- DHT22 温度湿度センサー
- ジャンパー線 赤色と黒色と青色(もちろん、色は何でもOKです)
回路と回路図


プログラムコード DHT22 温度湿度センサー
#include <SimpleDHT.h>
// for DHT22,
// VCC: 5V or 3V
// GND: GND
// DATA: 2
int pinDHT22 = 2;
SimpleDHT22 dht22(pinDHT22);
void setup() {
Serial.begin(115200);
}
void loop() {
// start working...
Serial.println("=================================");
Serial.println("Sample DHT22...");
// read without samples.
// @remark We use read2 to get a float data, such as 10.1*C
// if user doesn't care about the accurate data, use read to get a byte data, such as 10*C.
float temperature = 0;
float humidity = 0;
int err = SimpleDHTErrSuccess;
if ((err = dht22.read2(&temperature, &humidity, NULL)) != SimpleDHTErrSuccess) {
Serial.print("Read DHT22 failed, err="); Serial.println(err);delay(2000);
return;
}
Serial.print("Sample OK: ");
Serial.print((float)temperature); Serial.print(" *C, ");
Serial.print((float)humidity); Serial.println(" RH%");
// DHT22 sampling rate is 0.5HZ.
delay(2500);
}

簡単に温度と湿度を表示することができました。今回は、シリアルモニターに表示しましたが、今までに学習した液晶ディスプレイなどに表示してみましょう。
それだけで、電子工作が実用的であり、楽しいものだという事を実感できるでしょう。こんなガジェットを作れたら、面白いと思いませんか?それでは、次のArduino工作講座で。

コメント