#include <Button_SL.hpp>
constexpr byte PIN_TASTER {4};
constexpr byte PIN_PIR {5};
using namespace Btn;
ButtonSL btn{PIN_TASTER};
void checkButton(ButtonSL &b) {
if (b.tick() != ButtonState::notPressed) {
Serial.println("Taster gedrückt");
}
}
byte checkPIR(byte state) {
byte isPirActive = digitalRead(PIN_PIR);
if (state != isPirActive) {
state = isPirActive;
switch (isPirActive) {
case LOW: Serial.println("PIR wieder inaktiv"); break;
case HIGH: Serial.println("PIR hat ausgelöst. Ist 5 Sekunden aktiv."); break;
default: break;
}
}
return state;
}
void setup() {
Serial.begin(115200);
btn.begin();
pinMode(PIN_PIR, INPUT);
}
void loop() {
static byte prevIsPirActive {LOW};
checkButton(btn);
prevIsPirActive = checkPIR(prevIsPirActive);
}