#include <DHTesp.h>
#define LED_BLUE 23
#define LED_RED 22
#define DHT_PIN 15
DHTesp dhtSensor;
float temp = 0.0;
float temp_bup = 101.0; // Nicht realisitischer Wert, damit beim Programmstart 1 Ausgabe erfolgt
float hum = 0.0;
float hum_bup = 101.0; // Nicht realisitischer Wert, damit beim Programmstart 1 Ausgabe erfolgt
void setup() {
pinMode( LED_BLUE, OUTPUT); // GPIO als Ausgang definieren
digitalWrite( LED_BLUE, LOW); // Test-LED Blue = off
pinMode( LED_RED, OUTPUT); // GPIO als Ausgang definieren
digitalWrite( LED_RED, LOW); // Test-LED Red = off
Serial.begin(115200);
Serial.println("=============================================================================");
Serial.println("Messung der Umgebungstemperatur und der Luftfeuchtigkeit mit dem Sensor DHT22");
Serial.println("=============================================================================");
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
}
void loop() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
temp = data.temperature;
hum = data.humidity;
if ((temp != temp_bup) || (hum != hum_bup)) {
temp_bup = temp;
hum_bup = hum;
if (temp > 50.0) {
digitalWrite( LED_RED, HIGH); // Test-LED Red = on
digitalWrite( LED_BLUE, LOW); // Test-LED Blue = off
} else if (temp < 0.0) {
digitalWrite( LED_BLUE, HIGH); // Test-LED Blue = on
digitalWrite( LED_RED, LOW); // Test-LED Red = off
} else {
digitalWrite( LED_BLUE, LOW); // Test-LED Blue = off
digitalWrite( LED_RED, LOW); // Test-LED Red = off
}
if (temp < 0.0) {
Serial.print("Temperatur: " + String(temp) + "°C ");
} else {
Serial.print("Temperatur: +" + String(temp) + "°C ");
}
Serial.println("Luftfeuchtigkeit: " + String(hum) + "%");
}
delay(100);
}