Ciao, sto facendo un po' di tutorials con lo starter kit.
Nel mio starter kit ho questo DHT11 http://wallmall.it/skin/frontend/ultimo/default/images/Immagini%20inserzioni%20Ebay/Arduino/DHT11.jpg
Nel tutorial che sto seguendo suggerisce di collegare il pin dati con il pin 5v del dht11 con una resistenza da 10.000 Ohm, come "pull up". Da quanto ho capito dovrebbe proteggere in caso di guasti l'arduino.
Ho fatto questa premessa per darvi il quadro, non capisco in effetti se la questione sia lato software o hardware.
Questo è lo sketch che uso:
#include "DHT.h"
#define DHTPIN 2
#define DHTYPE DHT11
DHT dht(DHTPIN, DHTYPE);
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("DHT test");
dht.begin();
}
void loop() {
// put your main code here, to run repeatedly:
float h = dht.readHumidity();
float t = dht.readTemperature();
if(isnan(t) || isnan(h)) {
Serial.println("Lettura fallita");
} else {
Serial.print("Umidity: ");
Serial.print(h);
Serial.print("%\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" C");
Serial.print(" %\n");
}
delay(500);
}
Tutto sembra funzionare, però ecco una lettura seriale di esempio:
Umidity 33% Temperature 23.00
Se provo ad accedendere una lampada sopra al sensore vedo variare la temperatura, ma a scatti di un grado.
Lo sketch l'ho preso pari pari da un video corso che sto seguendo, e in effetti pare fare il suo dovere.
Anche l'umidità ha scatti di valore intero.
Suggerimenti?
Grazie
p.s.
Altra cosa che ho notato, mi sembra che le letture siano molto alte, ieri provando un circuito con un tmp36 avevo temperature inferiori almeno di 2 gradi (e in casa non credo sia variata cosi tanto la temperatura).