#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>

#define DHTPIN 2       // DHTセンサーのデータピンはArduinoのデジタルピン2に接続されている場合
#define DHTTYPE DHT22   // 使用するDHTセンサーの種類をDHT22に変更

DHT dht(DHTPIN, DHTTYPE);

LiquidCrystal_I2C lcd(0x27, 16, 2);  // 0x27は液晶ディスプレイのI2Cアドレスで、16x2のディスプレイを想定

void setup() {
  Serial.begin(9600);
  lcd.init();
  lcd.backlight();
  dht.begin();
}

void loop() {
  delay(2000);  // 2秒毎に温湿度を更新

  float h = dht.readHumidity();    // 湿度を読み取る
  float t = dht.readTemperature(); // 温度を読み取る(摂氏)

  if (isnan(h) || isnan(t)) { //非数の時に実行される
    lcd.setCursor(0, 0);
    lcd.print("Failed to read");
    lcd.setCursor(0, 1);
    lcd.print("from DHT sensor");
    return;
  }

  lcd.setCursor(0, 0);
  lcd.print("Temp: ");
  lcd.print(t);
  lcd.print(" C");

  lcd.setCursor(0, 1);
  lcd.print("Humidity: ");
  lcd.print(h);
  lcd.print(" %");
}