Zeit beim Wecker einstellen

OP #3377428
Lesenswert?

Das ist wirklich etwas offtopic, ich hoffe aber jemanden zu finden, der 
ein ähnliches Problem gelöst hat.

Ich baue mit einem µC ein Gerät, bei dem man u.a. das Datum und die 
Uhrzeit einstellen kann. Dazu stehen aher nur Cursor-Tasten und die 
Bestätigung zur Verfügung. Links/Rechts wählt die Stelle

  h10 -> h1 -> m10 -> m1 -> d10 -> d1 -> mon10 -> mon1 -> y10 -> y1

Das Jahrhundert kann nicht verstellt werden. Neben dem -> gibts 
natürlich auch das <- das zur vorherigen Stelle springt. Wenn man 
hoch/runter drückt, wird die aktuelle Stelle jeweils verändert.

Interessant wird die Frage, wie man mit "ungültigen" Werten umgehen 
soll. Wenn man h=18 hat und die aktuelle Stelle die Zehnerstelle ist, 
würde als nächster Wert 28 entstehen. Das ist für eine Stunde nicht 
sinnvoll. Ähnlich sieht es bei Tag und Monat des Datums aus. Wenn man 
den Zehner des Monats von 4 erhöht, würde man auf den 14. Monat kommen, 
was sicher nicht sinnvoll ist.

Was ist ein guter Ansatz für ein akzeptables Nutzerinterfaces für meinen 
Wecker?
#3377432
Lesenswert?

Möglichkeiten:

- Erhöhen von 4 auf 14 beim Monat nicht zulassen => Passiert nichts
- Springen aufs Maximum: 12
- Zulassen und beim Speichern am Ende ungültige Werte durchs Maximum 
ersetzen, auf 1 setzen oder so

Grundsätzlich würde ich eher zu Möglichkeit 2 oder 3 raten, mit Tendenz 
zu 2.
OP #3377822
Lesenswert?

Matthias Sch. schrieb:
> .. oder du erlaubst nur das Stellen des jeweiligen Wertes, also gar kein
> rumfummeln an der 10er Stellen.
Also nicht per Ziffer sondern per Wert (y,m,d,h,m)?

Hmm, bisher hatte ich kein Autorepeat bei den Tastern geplant. Ohne dem 
müste man aber bis zu 30x drücken. Das will keiner.

> Mit einer sanften Beschleunigung wenn man die Taste gedrückt hält,
Ja, das wäre eine Möglichkeit, was aber auf zu Verwirrung führen kann, 
wenn's zu schnell wird. Die Beschleunigung wird dann irgendwann zu Ende 
sein müssen.

> Wie oft passiert die Stellerei denn?
Nun die Uhr läuft schon batteriegestützt. Der Quarz ist aber nicht in 
einem Termostat. Also etwa wie eine billige Haushaltsuhr eben. Man 
sollte aber die Zeit schon korrigieren können.
OP #3377830
Lesenswert?

Johannes O. schrieb:
> 1. Erhöhen von 4 auf 14 beim Monat nicht zulassen => Passiert nichts
Naja, das sieht dann so aus wie kaputt. Keine Reaktion ist nicht 
erwünscht.

> 2. Springen aufs Maximum: 12
> 3. Zulassen und beim Speichern am Ende ungültige Werte durchs Maximum
> ersetzen, auf 1 setzen oder so
Das ist nicht so praktikabel. Wenn ich das beim Monat zulasse, weiß ich 
nicht mehr, wor die Grenze beim Monat liegen soll.

>
> Grundsätzlich würde ich eher zu Möglichkeit 2 oder 3 raten, mit Tendenz
> zu 2.
Ja, sozusagen an den Poller fahren. Das wäre eine Möglichkeit, mir 
minimalen Tasterdrücken den größten/kleinsten Wert zu erreichen.
#3377832
Lesenswert?

Harper Blues schrieb:
> Matthias Sch. schrieb:
>> .. oder du erlaubst nur das Stellen des jeweiligen Wertes, also gar kein
>> rumfummeln an der 10er Stellen.
> Also nicht per Ziffer sondern per Wert (y,m,d,h,m)?
>
> Hmm, bisher hatte ich kein Autorepeat bei den Tastern geplant. Ohne dem
> müste man aber bis zu 30x drücken. Das will keiner.

Welche Tastenroutinen benutzt du?
Mit den PeDa Routinen aus dem Entprellen-Artikel ist das 
(Autorepeat) überhaupt kein Problem und funktioniert erstklassig. Sowohl 
in der Programmierung als auch in der Bedienung. Auf jeden Fall besser 
als dieser ganze 'du kannst die Einer nicht erhöhen, wenn sich dadurch 
mit den zehner ein ungültiger Zustand ergibt' Ansatz (ich hätte jetzt 
fast Unsinn gesagt - wer sowas einmal benutzen musste schmeisst das Ding 
am liebsten in die nächste Ecke)

Oder was glaubst du, warum wir die anpreisen wie warme Semmeln?
(Firma: matzetronics) #3378180
Lesenswert?

Harper Blues schrieb:
> Nun die Uhr läuft schon batteriegestützt. Der Quarz ist aber nicht in
> einem Termostat. Also etwa wie eine billige Haushaltsuhr eben. Man
> sollte aber die Zeit schon korrigieren können.

Das heisst, du stellst die Uhr einmal komplett und korrigierst dann die 
Abweichung alle paar Monate oder so.

Harper Blues schrieb:
> Hmm, bisher hatte ich kein Autorepeat bei den Tastern geplant. Ohne dem
> müste man aber bis zu 30x drücken. Das will keiner.

Nee, aber Autorepeat ist heute in jedem Schmutzwecker eingebaut und wird 
vom Bediener selbstverständlich angenommen. Da du sowohl hoch- als auch 
runterstellen kannst, reicht ein 2-stufiges Autorepeat mit Sicherheit 
aus, bei dem nach dem ersten Tastendruck länger gewartet wird, und dann 
im 1/2 Sekundentakt wiederholt wird.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren