Monoflop in Statemaschine mit Interrupts?

vor 28 weeks 1 day von Rickor

ich plane eine Ablaufsteuerung mit verschiedenen Zuständen.
Bei jeder Zustandsänderung soll für ca. eine Sekunde ein Ausgang auf HIGH gehen, zwei
andere Ausgänge bleiben in dem gesetzten Status.
Gleichzeitig sollen mehrere Taster abgefragt werden welche die Zustandsänderung auslösen.
Bei meiner jetzigen Methode fragt der Arduino ja in der 1sek nicht die Taster ab.

Gibt es eine gute Lösung mit Interrupts?

Jetziger Zustand
case 1:
digitalWrite(led_rot, HIGH);
digitalWrite(led_gelb, HIGH);
digitalWrite(led_gruen, HIGH);
delay(1000);
digitalWrite(led_gruen, LOW);
zustand = 1;
break;

case 2:
digitalWrite(led_rot, HIGH);
digitalWrite(led_gelb, HIGH);
break;

Ähnliche Posts

1 Antwort auf “Monoflop in Statemaschine mit Interrupts?”


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
  1. uwe sagt:

    Du darfst kein Delay verwenden. Das blockiert den Arduino für die angegebene Zeit.
    Du mußt Millis() verwenden. siehe Beispiel blinkwitoutdelay.
    http://www.arduino.cc/en/Tutorial/BlinkWithoutDelay
    Grüße Uwe

    Login or register to post comments