#include "DHT.h" // Driver per i sensori DHTxx
#define DHTPIN 2 // Pin connesso al sensore
#define DHTTYPE DHT11 // Tipo di sensore utilizzato
// Il pin 1 (a sinistra) serve per l'acquisizione dati.
// Il pin 2 va a +5V.
// Il pin 3 va a massa.
// Per una maggior accuratezza il pin 1 va collegato a +5V
// con una resistenza di pullup da 10K
DHT dht(DHTPIN, DHTTYPE);
void setup() {
// Inizializza il monitor seriale
Serial.begin(9600);
// Inizializza il sensore DHT
dht.begin();
}
void loop() {
// Acquisisce l'umidità relativa
float h = dht.readHumidity();
// Acquisisce la temperatura in Celsius (parametro di default)
float t = dht.readTemperature();
// Acquisisce la temperatura in Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature(true);
// Acquisisce la temperatura percepita in Fahrenheit (default)
float hif = dht.computeHeatIndex(f, h);
// Acquisisce la temperatura percepita in Celsius (isFahreheit = false)
float hic = dht.computeHeatIndex(t, h, false);
// Esegue una misurazione ogni due secondi.
delay(2000);
// Controlla se il sensore ha fornito un output corretto per proseguire
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println(F("+---------------------------+"));
Serial.println(F("| Sensore DHT non connesso! |"));
return;
}
Serial.print("+-------------------------------------------------------\n");
Serial.print("| Umidità: "+String(h)+"%\n");
Serial.print("| Temperatura: "+String(t)+"°C "+String(f)+"°F\n");
Serial.print("| Temperatura percepita: "+String(hic)+"°C "+String(hif)+"°F\n");
}