oderlachs
01.03.2014, 13:41
Hallo ich möchte mal hier die erfahrenen Nutzer nach Ihrer Meinung/Erkenntnis fragen.
Es geht darum ich habe in zwei verschiedenen Räumen jeweils ein DHT11-Sensor von DFRobot installiert und möchte durch Umluft zwischen beiden Räumen, die Räume jeweils auf eine etwa gleiche Feuchtigkeit halten.
Doch sind die Abweichungen der beiden Sensoren im Test erschreckend, so das es für meine Anwendung gar nicht erst mal in Frage kommen kann...Ich habe mich nicht um 2..3..5° Grad beim Temperaturunterschied der Räume, aber wenn ich beide Sensoren auf dem Testplatz an einer Stelle habe und es sind ca 20% Unterschied in der Feuchtemessung, so ist das lediglich Pi mal Daumen, da kann ich auch die Feuchte, mittels Widerstandsmessung, von 2 Blatt Löschpapier messen, ich glaub das wäre genauer.
Hier erst mal mein Code:
// Example testing sketch for various DHT humidity/temperature sensors
// Written by ladyada, public domain, // etwas geändert
#include "DHT.h"
#define DHTPIN1 14 // what pin we're connected to
#define DHTPIN2 15
// Uncomment whatever type you're using!
#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22 (AM2302)
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
DHT dht1(DHTPIN1, DHTTYPE);
DHT dht2(DHTPIN2, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println("DHT - Test!");
dht1.begin();
dht2.begin();
}
void loop() {
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
float h1 = dht1.readHumidity();
float t1 = dht1.readTemperature();
int feuchte1 =(int)(h1 +.5);
int termo1 =(int)(t1+.5);
float h2 = dht2.readHumidity();
float t2 = dht2.readTemperature();
int feuchte2 =(int)(h2 +.5);
int termo2 =(int)(t2+.5);
// check if returns are valid, if they are NaN (not a number) then something went wrong!
if (isnan(t1) || isnan(h1)) {
Serial.println("Failed to read from DHT1");
} else {
Serial.println(" ");
Serial.print("Feuchte1 : ");
Serial.print(feuchte1);
Serial.print(" %\t");
Serial.print("Temperatur1 : ");
Serial.print(termo1);
Serial.println(" *C");
//*****************************
Serial.println(" ");
Serial.print("Feuchte2 : ");
Serial.print(feuchte2);
Serial.print(" %\t");
Serial.print("Temperatur2 : ");
Serial.print(termo2);
Serial.println(" *C");
delay(1500);
}
}
Im Anhang die serielle Ausgabe der Werte, beide Sensoren liegen nebeneinander auf dem Arbeitsplatz im Zimmer.
Ich würde mich freuen wenn jemand dazu etwas sagen könnte, um mir da ein wenig Klarheit oder die Fehlerursache ans tageslicht zu bringen.
Vielen Dank und Gruss
Gerhard
27639
Es geht darum ich habe in zwei verschiedenen Räumen jeweils ein DHT11-Sensor von DFRobot installiert und möchte durch Umluft zwischen beiden Räumen, die Räume jeweils auf eine etwa gleiche Feuchtigkeit halten.
Doch sind die Abweichungen der beiden Sensoren im Test erschreckend, so das es für meine Anwendung gar nicht erst mal in Frage kommen kann...Ich habe mich nicht um 2..3..5° Grad beim Temperaturunterschied der Räume, aber wenn ich beide Sensoren auf dem Testplatz an einer Stelle habe und es sind ca 20% Unterschied in der Feuchtemessung, so ist das lediglich Pi mal Daumen, da kann ich auch die Feuchte, mittels Widerstandsmessung, von 2 Blatt Löschpapier messen, ich glaub das wäre genauer.
Hier erst mal mein Code:
// Example testing sketch for various DHT humidity/temperature sensors
// Written by ladyada, public domain, // etwas geändert
#include "DHT.h"
#define DHTPIN1 14 // what pin we're connected to
#define DHTPIN2 15
// Uncomment whatever type you're using!
#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22 (AM2302)
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
DHT dht1(DHTPIN1, DHTTYPE);
DHT dht2(DHTPIN2, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println("DHT - Test!");
dht1.begin();
dht2.begin();
}
void loop() {
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
float h1 = dht1.readHumidity();
float t1 = dht1.readTemperature();
int feuchte1 =(int)(h1 +.5);
int termo1 =(int)(t1+.5);
float h2 = dht2.readHumidity();
float t2 = dht2.readTemperature();
int feuchte2 =(int)(h2 +.5);
int termo2 =(int)(t2+.5);
// check if returns are valid, if they are NaN (not a number) then something went wrong!
if (isnan(t1) || isnan(h1)) {
Serial.println("Failed to read from DHT1");
} else {
Serial.println(" ");
Serial.print("Feuchte1 : ");
Serial.print(feuchte1);
Serial.print(" %\t");
Serial.print("Temperatur1 : ");
Serial.print(termo1);
Serial.println(" *C");
//*****************************
Serial.println(" ");
Serial.print("Feuchte2 : ");
Serial.print(feuchte2);
Serial.print(" %\t");
Serial.print("Temperatur2 : ");
Serial.print(termo2);
Serial.println(" *C");
delay(1500);
}
}
Im Anhang die serielle Ausgabe der Werte, beide Sensoren liegen nebeneinander auf dem Arbeitsplatz im Zimmer.
Ich würde mich freuen wenn jemand dazu etwas sagen könnte, um mir da ein wenig Klarheit oder die Fehlerursache ans tageslicht zu bringen.
Vielen Dank und Gruss
Gerhard
27639