AndiIsl:
mir gehts um das:Serial.print(DHT.humidity);was muss ich da schreiben wenn ich den 4. sensor anzeigen lassen will?
DHT.humidity enthält den Wert der letzten Abfrage. Vor der nächsten Abfrage musst Du ihn also sichern.
Wenn Du nacheinander alle Sensoren abprüfen willst, dann mach es z.B. so:
#define DHT22_PIN1 5 // Sensor 1 an Pin 5
#define DHT22_PIN2 6 // Sensor 2 an Pin 6
#define DHT22_PIN3 7 // Sensor 3 an Pin 7
#define DHT22_PIN4 8 // Sensor 4 an Pin 8
#define ERR_VAL -1000.0
dht DHT;
double hum1;
double hum2;
double hum3;
double hum4;
double temp1;
double temp2;
double temp3;
double temp4;
void setup()
{
...
}
void loop()
{
readSensors();
// Die Werte der Sensoren sind nun in den Variablen gespeichert
// und können weiterverarbeitet werden
...
}
void readSensors()
{
// Alle vier Sensoren auslesen und Werte speichern
if (DHT.read22(DHT22_PIN1) = DHTLIB_OK)
{
hum1 = DHT.humidity;
temp1 = DHT.temperature;
}
else
{
hum1 = ERR_VAL;
temp1 = ERR_VAL;
}
if (DHT.read22(DHT22_PIN2) = DHTLIB_OK)
{
hum2 = DHT.humidity;
temp2 = DHT.temperature;
}
else
{
hum2 = ERR_VAL;
temp2 = ERR_VAL;
}
if (DHT.read22(DHT22_PIN3) = DHTLIB_OK)
{
hum3 = DHT.humidity;
temp3 = DHT.temperature;
}
else
{
hum3 = ERR_VAL;
temp3 = ERR_VAL;
}
if (DHT.read22(DHT22_PIN4) = DHTLIB_OK)
{
hum4 = DHT.humidity;
temp4 = DHT.temperature;
}
else
{
hum4 = ERR_VAL;
temp4 = ERR_VAL;
}
}