|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
enum Farben { GRUEN = 3, WEISS, ROT, BLAU, GELB }; int SENSOR = 2; volatile bool Stopp = true; void setup() { // pinMode der LEDs definieren for (int i = GRUEN; i < GELB; i++) { pinMode(i, OUTPUT); } // Funktion für das Auslösen des Interrupts definieren attachInterrupt(digitalPinToInterrupt(SENSOR), LEDSchalten, RISING); } void loop() { // solange Stopp den Wert true hat while (Stopp) { for (int i = GRUEN; i <= GELB; i++) { // aktuelle LED i einschalten digitalWrite(i, HIGH); delay(200); // aktuelle LED i ausschalten digitalWrite(i, LOW); // Schleifen-Durchlauf stoppen (break) // wenn die Variable Stopp den Wert false hat if (!Stopp) break; } } } void LEDSchalten() { Stopp = !Stopp; } |
Letzte Aktualisierung: