#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT22
#define pin_led1 4
#define pin_led2 3
#define pin_led3 5
#define pin_led4 6
#define pin_feng 8
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println(F("DHTxx test!"));
dht.begin();
pinMode(pin_led1, OUTPUT);
pinMode(pin_led2, OUTPUT);
pinMode(pin_feng, OUTPUT);
pinMode(pin_led3, OUTPUT);
pinMode(pin_led4, OUTPUT);
}
void loop() {
delay(2000);
float h = dht.readHumidity();
float t = dht.readTemperature();
float f = dht.readTemperature(true);
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
float hif = dht.computeHeatIndex(f, h);
float hic = dht.computeHeatIndex(t, h, false);
Serial.print(F("湿度: "));
Serial.print(h);
Serial.print(F("% 温度: "));
Serial.print(t);
Serial.print(F("°C "));
Serial.print(f);
Serial.print(F("°F 热指数: "));
Serial.print(hic);
Serial.print(F("°C "));
Serial.print(hif);
Serial.println(F("°F"));
if(h<30){digitalWrite(pin_led1, 1);}
else if(h>90){digitalWrite(pin_led3, 1);}
if(t>23){digitalWrite(pin_led2, 1);}
else if(t<18){digitalWrite(pin_led4, 1);}
if(h<30 or t>23 or h>90 or t<18){tone(8, 262);}
}