Hi
Da ich es nicht geschafft habe, aus Dir herauszubekommen, wo Deine Probleme in Deinem Sketch sind, habe ich versagt.
Dabei dachte ich echt, daß man Das schon hinbekommen könnte - selbst wenn nicht, hätte man zumindest einen Sketch, wo das IF an einer wohl eher widersinnigen Stelle zu liegen kam und der Kompiler einem das Ding um die Ohren haut.
Hat nicht sollen sein, schade eigentlich.
Für schöne Geschenke bin ich leider nicht zuständig!
MALE Dir auf, WAS WANN WIE passieren soll.
Je ganeuer Du den Kram auf-MALST (so wirklich mit Stift auf Papier), desto einfach wird es, Das in ein Programm umzumünzen.
Mit einem fertigem Sketch ist Dir nicht wirklich geholfen - klar, das jetzige Zeug verschwindet nicht im Mülleimer, aber beim ersten Problem stehst Du wieder hier mit einer Frage, Die man mit etwas Grundlagen nicht stellen müsste.
Leider kann ich in Deinen Posts nicht wirklich erkennen, daß Du Dir auch nur ansatzweise Mühe gibst.
Ja toll - Du sitzt wochenlang am Rechner und kopiert irgend welche Fetzen zusammen - leider ohne Sinn und Verstand!
Auch meine Hinweise, WAS DU MACHEN SOLLST, enden in 'das hat auch keinen Sinn (In diesem Beispiel) rum zu probieren bis irgend etwas eh nicht klappt.' (Zitat aus #28).
Du hast einen Sketch, mit Dem Du wohl eine Zahl raus/runter verstellen kannst.
Und Du hast ein Beispiel von mir, wo eine (zuvor festgelegte) Zahl runtergezählt wird.
Weiter hast Du von mir die Anweisung erhalten, diese Teile mit IFs gegen einander abzugrenzen.
Wenn wir die Zeit einstellen, soll Diese noch nicht runterzählen - wenn runter gezählt wird, sollten Drehungen am Encoder wohl die Zeit nicht irrtümlich verstellen.
Dazu kam auch nicht viel.
Ich bin hier nicht der Gruppen-Opa, Der 'den Kleinen' die Hausaufgaben macht.
Programmieren ist das Einfachste, was Es gibt - Es ist NUR logisch!
Zugegeben - manches Mal versagt die Logik auch hier, aber bisher war der Fehler eher auf meiner Seite - das Steinchen machte schon brav, was ich Ihm sagte.
Also mache (MALE) einen Plan, WAS WANN WIE funktionieren soll.
Einer der Blöcke könnte in früher Version ungefähr so aussehen:
-- Einstellen der Zeit --
- Durch Knopfdruck zwischen Minuten, Sekunden und OK wechseln
- Minuten und Sekunden durch Verdrehen hoch/runter zählen
- OK durch Verdrehen zwischen OK und VERSTELLEN wechseln lassen
- bei Druck auf OK die Einstellung verlassen, auf 'VERSTELLEN' wieder auf die Stunden springen
-- angewählte Bereiche blinkend oder mit Pfeil davor
-- Countdown --
- Durch Knopfdruck Countdown unterbrechen -> Einstellung
- Runterzählen der Zeit
- bei Null Alarm, nicht weiter runter zählen
- Verdrehen hat keine Auswirkungen (Was Nichts macht, braucht hier normal nicht hin, schadet aber auch nicht)
DAS kann man dann ausarbeiten, z.B. am Anfang, was auf das Display geschrieben werden soll.
In späteren Versionen dieser Listen hast Du den Kram so verfeinert, daß jede Zeile nur noch wenige Zeilen Code sind - tada - Sketch fertig.
Kommentare schaden dann im Sketch auch nicht - dort muß nicht stehen, was die Zeile macht - Das sieht man - dort muß hin, welcher Sinn hinter der Zeile steht.
byte status=0; //status ist jetzt 0
... wäre nicht nur verbesserungswürdig, sondern wirklich nicht sonderlich intelligent.
byte status=0; //status, Was gerade 'gemacht' wird - Einstellen(0)/Contdown(1)/Alarm(2)
Nett ist's, wenn die Datentypen noch passen, aber Das bekommen wir später auch noch zusammen hin.
So, Du wieder