#include <DHT.h>
// Pin-Konfiguration
const int DHTPin = 2; // DHT22-Datenpin
const int relayPin = 3; // Relais an Pin 3
// DHT22-Sensor initialisieren
#define DHTTYPE DHT22
DHT dht(DHTPin, DHTTYPE);
// Zieltemperatur
const float targetTemp = 25.0;
void setup() {
// Relais-Pin als Ausgang festlegen
pinMode(relayPin, OUTPUT);
// Start der seriellen Kommunikation
Serial.begin(9600);
// DHT-Sensor initialisieren
dht.begin();
// Relais initial ausschalten
digitalWrite(relayPin, LOW);
}
void loop() {
// Temperatur und Luftfeuchtigkeit abrufen
float temperature = dht.readTemperature();
// Überprüfen, ob die Messung erfolgreich war
if (isnan(temperature)) {
Serial.println("Fehler beim Lesen der Temperatur!");
return;
}
// Ausgabe der aktuellen Temperatur auf dem seriellen Monitor
Serial.print("Aktuelle Temperatur: ");
Serial.print(temperature);
Serial.println(" °C");
// Überprüfung der Temperatur
if (temperature >= targetTemp) {
// Relais einschalten (Ventil öffnen)
digitalWrite(relayPin, HIGH);
Serial.println("Ventil eingeschaltet.");
} else {
// Relais ausschalten (Ventil schließen)
digitalWrite(relayPin, LOW);
Serial.println("Ventil ausgeschaltet.");
}
// Kleine Verzögerung, um die Lesungen nicht zu schnell durchzuführen
delay(500);
}