#include "Button_SL.hpp"
class Switch {
public:
Switch(uint8_t pin) : pin {pin} {}
void begin() { pinMode(pin, OUTPUT); }
uint8_t toggle() {
isOn = !digitalRead(pin);
digitalWrite(pin, isOn);
return isOn;
}
private:
const uint8_t pin;
uint8_t isOn;
};
Btn::ButtonSL btn {4};
Switch mySwitch {5};
void printSwitchState(uint8_t value) {
const char* strSwitchState[] {"Aus", "Ein"};
Serial.print(F("Schalter "));
Serial.println(strSwitchState[(value > 0)]); // Falls value >= 1 ist, den Wert auf = 1 setzen.
}
void setup() {
Serial.begin(115200);
btn.begin();
mySwitch.begin();
printSwitchState(false);
}
void loop() {
if (btn.tick() != Btn::ButtonState::notPressed) { printSwitchState(mySwitch.toggle()); }
}