#include "DHT.h" //DHT Bibliothek laden
#define DHTTYPE DHT22
//DHT11 HW: Mit Blick auf die Vorderseite des DHT11 wird der linke
// Kontakt mit Pin 3,
// der mittlere mit 5V und der rechte mit GND
// am Mikrocontroller verbunden.
struct {
int Tag;
int Zeit;
float Temperature;
float Humidity;
} Data;
int currentDay=1;
int currentTime=0;
int DHTPIN = 3;
DHT DhtSensor (DHTPIN, DHTTYPE);
int Test = 1 ; // 1: Test ; 0: echte Messung
float deltaT, deltaH ; // Temperaturänderung und Luftfeuchteänderung
void setup() {
DhtSensor.begin();
Serial.begin(9600);
Serial.print("Tag");
Serial.print(" ; ");
Serial.print("Zeit");
Serial.print(" ; ");
Serial.print("Temperature");
Serial.print(" ; ");
Serial.println("Luftfeuchtigkeit");
}
void loop() {
if (Test ==1) {
if (currentDay <= 7){
deltaT = 3 * sin(millis() * 2 * PI / 4800.0);// 4800 = delay * 24; addiere ein random um 7 verschieden tagen zu haben
// deltaH sollte etwa ±15 % bis ±25 % Veränderung über den Tag (90 % früh→ 60 % mittags→85 % nachts)
deltaH = 20 * sin(millis() * TWO_PI / 4800.0 + PI); // Verlauf (±20 %, gegenphasig zur Temperatur)
Data.Tag = currentDay;
Data.Zeit = currentTime;
Data.Temperature = DhtSensor.readTemperature()+deltaT;
Data.Humidity = DhtSensor.readHumidity() + deltaH;
Serial.print(Data.Tag);
Serial.print(" ; ");
Serial.print(Data.Zeit);
Serial.print(" ; ");
Serial.print(Data.Temperature);
Serial.print(" ; ");
Serial.print(Data.Humidity);
Serial.println("%");
currentTime++;
if (currentTime >= 24) {
currentTime =0;
currentDay ++;
if (currentDay == 8) {
Serial.println("Simulation beendet nach 7 Tagen");
}
}
}
}
else {Serial.println("Code nicht fertig!");
}
delay (200); // dann wieder 5 Sek.
}