#define LEDpin 25
#define Tempel 18
#define servoPIN 5
const int DHT_PIN = 18;
const int servoPin = 19;
#include <DHTesp.h>
#include <Servo.h>
Servo servo;
DHTesp dhtSensor;
int ledPin = 12;
int inputPin = 14;
int pirState = LOW;
int val = 0;
int buzzer = 13;
void setup() {
pinMode(25, OUTPUT);
pinMode(5, INPUT);
pinMode(19, INPUT);
pinMode(12, OUTPUT);
pinMode(buzzer, OUTPUT);
servo.attach(servoPin, 500, 2400);
Serial.begin(115200);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
pinMode(ledPin, OUTPUT);
pinMode(inputPin, INPUT);
Serial.begin(9600);
}
int pos = 0;
//für jede einzelne Aufgabe die "void licht, fenster, alarm" auf "loop" ändern um das Konzept auszuführen.
// licht = aufgabe 1, fenster = aufgabe 2, alarm = aufgabe 3
void licht() {
if (digitalRead(5) == HIGH) {
digitalWrite(25, HIGH);
}
}
void fenster() {
float Temp = dhtSensor.getTemperature();
Serial.println(pos);
if (Temp >= Tempel && pos != 90) {
for (pos = 0; pos <= 90; pos += 1) {
servo.write(pos);
delay(50);
}
}
if (Temp <= Tempel && pos != 0) {
for (pos = 90; pos >= 1; pos -= 1) {
Serial.println(pos);
servo.write(pos);
delay(50);
}
}
}
void alarm() {
val = digitalRead(inputPin);
if (val == HIGH) {
digitalWrite(ledPin, HIGH);
if (pirState == LOW) {
Serial.println("Bewegung entdeckt!");
pirState = HIGH;
tone(buzzer, 200);
delay(1000);
}
} else {
digitalWrite(ledPin, LOW);
if (pirState == HIGH) {
Serial.println("Keine Bewegung feststellbar!");
pirState = LOW;
noTone(buzzer);
delay(1000);
}
}
}