Hier mal der ursprüngliche Code:
In Thread #1 hatte ich die Kommentare gelöscht. Ebenfalls den seriellen Monitor. Und die Delays von 50 auf 200 geändert.Code:// +++ QUELLCODE FÜR DEN DRUCKTASTER MIT PERMA-LED-LAUFLICHT +++ // // Definition von Variablen für den Taster + LEDs const int LED_PINS[] = {2, 3, 4, 5}; const int PUSH_BUTTON = 6; int buttonStateOld = 0; bool buttonFlag = false; void setup() { // Initialisiere digitale Pins als Ausgang in einer For-Schleife for (int a = 0; a < 4; a++) { pinMode(LED_PINS[a], OUTPUT); } // Initialisiere den Drucktaster als Eingang pinMode(PUSH_BUTTON, INPUT); } void loop() { if (buttonState != buttonStateOld) { // Ändere das Flag nur, wenn der Taster gedrück wird if (buttonState == HIGH) { if (buttonFlag == false) { buttonFlag = true; } else { buttonFlag = false; } } // Speichere den aktuellen Wert des Tasters buttonStateOld = buttonState; } if (buttonFlag == true) { for (int a = 0; a < 4; a++) { // Schalte eine LED an digitalWrite(LED_PINS[a], HIGH); // Sende eine Nachricht an den seriellen Monitor Serial.print("LED Status: LED "); Serial.print(LED_PINS[a]); Serial.println(" is ON"); // Warte 50 Millisekunden delay(50); } for (int a = 0; a < 4; a++) { // Schalte eine LED aus digitalWrite(LED_PINS[a], LOW); // Sende eine Nachricht an den seriellen Monitor Serial.print("LED Status: LED "); Serial.print(LED_PINS[a]); Serial.println(" is OFF"); // Warte 50 Millisekunden delay(50); } } }
Ob der Code "...nicht mal in die Nähe dessen (kommt), was er tun sollte...", kann ich nicht beurteilen. Möglicherweise verfolgt der Autor ein späteres Ziel und man könnte speziell diesen Code zwar anders schreiben, aber evt. damit das spätere Ziel nicht schon im Blick haben. Wie gesagt, das kann ich mit meinem Kenntnisstand nicht einschätzen, hoffe aber darauf, dass (trotz der enthaltenen Fehler im aktuellen Code) der Autor den Leser an einem "roten Faden" konsequent durchs Buch führt.
Andi







Zitieren

Lesezeichen