Hallo zusammen,
im Rahmen meiner Abschlussarbeit habe ich mit dem Arduino MEGA 2560 einen Punktezähler für ein Tennismatch mit 2 Sätzen realisiert.
Das funktioniert soweit so gut aber, ich möchte zusätzlich mit einem Taster von den ersten Satz in den 2 Satz schalten um die gleichen Taster zu nutzen die ich beim ersten Satz genutzt habe um dementsprechend den Zähler mit + und - hoch und runter zu schalten.
Frage:
Was muss ich in meine Software schreiben um mit einem Taster von Funktion 1 in Funktion 2 zu schalten. Danke an alle die mir hierbei helfen wollen !
wieviele Taster gibt es denn insgesamt? Vielleicht macht es ja Sinn, einzelne Taster auf lang drücken abzufragen oder ob zwei bestimmte Taster gleichzeitig gedrückt werden sollen, um die zusätzliche Funktion zu aktivieren?
z.B. beide "+" drücken, um in den nächsten Satz zu wechseln und beide "-" drücken, um in den vorherigen Satz zu wechseln (da ja auch die Punkte lt. Beschreibung abwärts gezählt werden können)
Ja gut das wäre eine Alternative zu dem was ich hier gefragt habe. Aber die Frage war ja wie ich mit einem Taster von einer Funktion in die andere springen kann und anschließend wieder zurück. Also eigentlich bräuchte ich nur die Syntax.
Ich verstehe nicht so ganz, warum man für einen zweiten Satz eine weitere „Funktion“ braucht. Eher einen zweiten Datensatz. Die Funktion für die „Tennis-Sätze“ sollte doch für jeden Satz identisch sein.
ach, es gibt diesen Umschalt-Taster also? Ich dachte, es ging um die Vermeidung eines zusätzlichen Tasters.. mea culpa!
Dann sollte es doch recht einfach sein:
den zusätzlichen Taster mit einer Toggle-Abfrage belegen
lastInputState = currentInputState;
currentInputState = digitalRead(inputPin);
if (lastInputState == HIGH && currentInputState == LOW) {
if (state) { Serial.println("Toggle off"); }
else { Serial.println("Toggle on"); }
state = !state;
}
und jetzt in Abhängigkeit dazu (in diesem Beispiel `state´) der Funktion für + und - zuweisen, ob Punkte oder Sätze hoch- bzw runtergezählt werden. Ob man das jetzt am besten mit einem switch-case, mit arrays oder einer simplen if-abfrage bewerkstelligt, ist dem eigenen gusto überlassen
Hier ist ein Beispiel mit Funktionszeigern und der OneButton-Bibliothek
die grüne Taste ruft entweder Funktion1 oder Funktion2 auf und Sie wechseln durch Drücken der roten Taste