Forum: Mikrocontroller und Digitale Elektronik Lib für Ein-Tasten-Bedienung


von Sepp K. (seppk)


Lesenswert?

Moin,

ich habe hier ein Gerät, welches ich mit nur einer Taste bedienen will. 
(so ne Art Touch-Me Lampe). Die Taste soll folgende Bedienungen 
erkennen:

- kurzes Antippen (<500ms)
- langes Antippen (< 1s)
- und vlt. ein "Doppelclick"

Kennt da jemand eine Library für so eine Ein-Taster-Bedienung?

von Karl H. (kbuchegg)


Lesenswert?


von Thomas S. (klegom)


Angehängte Dateien:

Lesenswert?

Sepp Knallhirsch schrieb:
> Kennt da jemand eine Library für so eine Ein-Taster-Bedienung?

Meinst Du das so? Den Code dafür könnte ich Dir schicken.

von Simon K. (simon) Benutzerseite


Lesenswert?

Wofür der Timeout?

Ein Tasten Bedienung lässt sich gut mit der Dannegger Routine machen. 
Siehe Wiki Artikel von Karl Heinz. Hab ich auch schon gemacht um ne Uhr 
zu stellen. (Kurz Tippen: aktuelle Ziffer++, Lang Tippen: Nächste 
Ziffer).

von Thomas S. (klegom)


Lesenswert?

Simon K. schrieb:
> Wofür der Timeout?

Um "lang" von "kurz" zu unterscheiden?

von Simon K. (simon) Benutzerseite


Lesenswert?

Thomas S. schrieb:
> Simon K. schrieb:
>> Wofür der Timeout?
>
> Um "lang" von "kurz" zu unterscheiden?

Das kannst du auch machen, indem du auf das Loslassen der Taste 
reagierst und zu diesem Zeitpunkt, dann die Drückdauer "berechnest".

von Peter D. (peda)


Lesenswert?

Sepp Knallhirsch schrieb:
> - kurzes Antippen (<500ms)
> - langes Antippen (< 1s)
> - und vlt. ein "Doppelclick"

Doppelklick habe ich absichtlich nicht eingebaut (kann man aber leicht 
nachrüsten).

Wenn man sich mal kommerzielle Geräte anschaut, haben die entweder 
Kurz-/Lang- oder Einzel-/Doppelbetätigung.

Der Grund ist, daß sonst das Gerät unbedienbar wird, d.h. den Nutzer 
überfordert.
Wenn Du also willst, daß Du der einzige Bediener bist (nach genügend 
Training), dann kannst Du es machen.

Dann würde ich allerdings ne Morseerkennung vorsehen, damit kannst Du 
sogar Text eingeben.


Peter

von Sepp K. (seppk)


Lesenswert?

Danke euch allen.

Mittlerweile funktioniert das Gerät ganz gut. Die Funktion mit dem 
Doppelclick habe ich weggelassen, da es unbedarfte User tatsächlich 
überfordert.

Es gibt jetzt zwei Tastenfunktionen:
- kurz Tippen: Lampe an/aus
- langes Tippen+Halten: Lampe Helligkeit durchsweepen
- langesTippen+Losalssen: Helligkeit wird gespeichert.



Wen´s interessiert: Die Touchtaste habe ich mit der Atmel-Touchlib 
gemacht.
Funktioniert ganz gut.

@Thomas S.: Welchen Statemachine-Editor benutzt du?

von Thomas S. (klegom)


Lesenswert?

Sepp Knallhirsch schrieb:
> @Thomas S.: Welchen Statemachine-Editor benutzt du?

Astade ;-)

Der Zeichnet die Machine nicht nur, sonder spuckt fertigen C Kode dafür 
aus, wenn Du willst.

Wenn es Dir nur ums Zeichnen geht, kannst Du AstadeDraw verwenden. Der 
zeichnet nur.

Das Astade Paket gibt es für Windows hier: 
http://astade.de/WinDist/index.html

und für Ubuntu hier:

http://astade.de/doku0c34.html?id=install:installinubuntu

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.