Heislflo:
Könntet ihr das anhand meines Beispiels zeigen?
Eine weitere Anregung für eine LED mit LED2 ready:
const byte LED1 = 13;
const byte TASTER = 2;
const uint32_t ENTPRELLZEIT = 30;
uint32_t aktMillis, tasterMillis;
bool aktTaster, altTaster;
enum {AUS, AN1};
byte zustand = AUS;
void setup() {
pinMode(LED1, OUTPUT);
pinMode(TASTER, INPUT_PULLUP); // Taster schaltet nach GND
}
void loop() {
aktMillis = millis();
altTaster = aktTaster;
// einfaches Entprellen
if (aktMillis - tasterMillis >= ENTPRELLZEIT)
{
tasterMillis = aktMillis;
aktTaster = digitalRead(TASTER);
}
// Endlicher Automat mit switch/case
switch (zustand) {
case AUS:
if (altTaster && !aktTaster)
{
digitalWrite(LED1, HIGH);
zustand = AN1;
}
break;
case AN1:
if (altTaster && !aktTaster)
{
digitalWrite(LED1, LOW);
zustand = AUS;
}
break;
}
}