#include <DHT.h>
DHT sensor1(PA0, DHT22);
DHT sensor2(PA1, DHT22);
void change_sensor();
void alarm();
int geschw = 0;
bool read_from = true;
void setup() {
Serial.begin(115200);
pinMode(PA4, INPUT);
pinMode(PA2, OUTPUT);
attachInterrupt(digitalPinToInterrupt(PA4), change_sensor, FALLING);
}
void change_sensor() {
read_from =! read_from;
Serial.println("Sensorwechsel!");
}
void alarm() {
if (sensor1.readHumidity() > 50) {
geschw = 500;
} if (sensor1.readTemperature() > 30) {
geschw = 100;
} else {
geschw = 0;
digitalWrite(PA2, LOW);
}
blinken(geschw);
}
void blinken(int i) {
while (i > 0) {
delay(i);
digitalWrite(PA2, !digitalRead(PA2));
Serial.println("ALARM!");
}
}
void loop() {
delay(1000);
if (read_from) {
Serial.println("Temp: " + String(sensor1.readTemperature(), 2) + "°C");
} else {
Serial.println("Humidity: " + String(sensor1.readHumidity(), 1) + "%");
}
Serial.println("---");
}