Dies ist mein Code soweit. Ich speichere das Eingegeben ab und habe es durch Serial.print überprüft ob es durch den # Knopf druck nochmals angegeben wird. Nun dachte ich, dass ich den keyBuffer in ein delay eingeben kann, was leider nicht geht und es gehen mir die Ideen aus. Hat jemand einen Rat?
Ich habe etwas ähnliches mit 5 Tasten hinbekommen. Allerdings nur Minuten da ich keine Sekunden brauchte.
Die Tastenbeschriftung war : 10, 5, 1 , Kill, Start
Wurde die richtige Taste gedrückt, habe ich einfach die Anzahl der Minuten um die Taste erhöht. Kill Setze den Wert auf 0, Start lies das Prg. laufen.
Das hat mir den Theater mit den Parser erspart.
Ach ja, ich habe übrigens das 12Er Membran-Tastenfeld benutzt. Ein Aufkleber drauf und Fertig. Die anderen Tasten waren für hier nicht relavanten Funktionen. Bei dir würde ein 8er Feld locker reichen.
Ich würde als Eingabe zu einem Encoder tendieren. Ist einfacher.
Ansonsten ist eine Lösung bereits gezeigt.
Ansosnsten ohne Strings könnte man die 4 eingegeben Zahlen auch in 2 Variablen abspeichern: in Minuten und Sekunden. und als Zahlen weiterarbeiten.
@my_xy_projekt zeigt, wie man einen Text ( eventuell ) in eine Zahl wandeln kann --> atoi
Dass er diese nicht in "ein delay eingibt", liegt daran, dass dann während des delays gar nichts mehr passieren würde. So ist immerhin jede Sekunde eine Fortschrittsmeldung möglich.
Allerdings blockiert solange die Funktion eierUhr und anderes (z.B. Tastereingaben) sind nicht möglich.
Da hat er nur dir zuliebe etwas geschrieben, was er eigentlich besser könnte.