Arduino工作講座 気温を測定してみよう

Arduino工作講座

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工作講座で。

グラフ付きデジタル温湿度計 TT-580 (ホワイト)

コメント

タイトルとURLをコピーしました