#include "DHTesp.h"
#include "ESP32Servo.h"
#define LDR_PIN 5
#define licht 23
#define alm 22
const int DHT_PIN = 18;
int servoPin = 27;
int inputPin = 19;
Servo servo;
DHTesp dhtSensor;
int pos = 90;
int val = 0;
void setup() {
pinMode(LDR_PIN, INPUT);
Serial.begin(115200);
pinMode(licht, OUTPUT);
pinMode(alm, OUTPUT);
pinMode(inputPin, INPUT);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
servo.attach(servoPin, 500, 2400);
}
void loop() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
val = digitalRead(inputPin);
//Bewegungsmelder (3)
val = digitalRead(inputPin);
if (val == HIGH) {
digitalWrite(alm, LOW);
digitalWrite(alm, HIGH);
tone(21,3000, 500);
delay(500);
digitalWrite(alm, LOW);
delay(500);
digitalWrite(alm, HIGH);
tone(21,3000, 500);
delay(500);
digitalWrite(alm, LOW);
delay(500);
digitalWrite(alm, HIGH);
tone(21,3000, 500);
delay(500);}
else {
digitalWrite(alm, LOW);
}
//Helligkeitssensor (1)
if (digitalRead(LDR_PIN) == LOW) {
Serial.println("Tageslicht: Hell");
digitalWrite(licht, LOW);
}
else {
Serial.println("Tageslicht: Dunkel");
digitalWrite(licht, HIGH);
}
//temperatursensor Fenster (2)
if (data.temperature > 23){
Serial.println("Temp: " + String(data.temperature, 2) + "°C - warm");
if(pos >= 90){
for (pos = 90; pos >= 0; pos -= 1) {
//Serial.println(pos);
servo.write(pos);
delay(20);}}
else{ }
}
else {
Serial.println("Temp: " + String(data.temperature, 2) + "°C - kalt");
if(pos <= 0){
for (pos = 0; pos <= 90; pos += 1) {
//Serial.println(pos);
servo.write(pos);
delay(20);}}
else{ }
}
delay(500);
}