mikrocontroller.net

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


Autor: Sepp Knallhirsch (seppk)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Thomas S. (klegom)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Thomas S. (klegom)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon K. schrieb:
> Wofür der Timeout?

Um "lang" von "kurz" zu unterscheiden?

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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".

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sepp Knallhirsch (seppk)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Thomas S. (klegom)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.