-         

Ergebnis 1 bis 7 von 7

Thema: Taster mit mehreren Funktionen belegen ?

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    08.05.2005
    Alter
    42
    Beiträge
    33

    Taster mit mehreren Funktionen belegen ?

    Anzeige

    Hallo erstmal.
    Ich Suche einen code der es mir ermöglicht , drei Functionen mit einem taster zu erledigen;d.h. Taster einmal kurz = function 1,taster 2x kurz = function 2;taster gedrückt halten = function 3. Mit 1xkurz hab ich keine probleme aber die anderen 2 bereiten mir sorgen.

    Danke schon mal.
    mfg

    getaco


    ---------------------------------------------------------------------------------------------
    Programiere lang und erfolgreich.

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Zweimal kurz ist auch gemein. Ist das zweimal Funktion 1 oder einmal Funktion 2 ?
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    08.05.2005
    Alter
    42
    Beiträge
    33
    Zitat Zitat von PicNick
    Zweimal kurz ist auch gemein. Ist das zweimal Funktion 1 oder einmal Funktion 2 ?
    jaja ist richtig gemein !

    Also ist schon so dass ich da 3 funtionen oder zumindes 2 functionen brauche, ich hab schon dran rumgetüftel aber ich bekomme das einfach nicht so hin wie ich das will.

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    28
    Beiträge
    1.461
    Hi!

    Ich empfehle eins: Mach lieber ne Porterweiterung, als einen Taster doppelt und dreifach zu belegen!

    Das Ladegerät ISL-6-xxx von Schulze Elektronik (chamäleon, das mit den zwei Tastern) hat nur 2 Taster. Alles wird über diese beiden Taster bedient. Also ... ... Kennt ihr das?
    Bis das Ding weis was man will, hat man schon aufgegeben...
    Sonst ists aber gut!!

    Grüße,
    Tobi
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    30.01.2004
    Ort
    Hartenholm
    Alter
    68
    Beiträge
    81

    Re: Taster mit mehreren Funktionen belegen ?

    Zitat Zitat von Getaco
    Ich Suche einen code der es mir ermöglicht , drei Functionen mit einem taster zu erledigen;d.h. Taster einmal kurz = function 1,taster 2x kurz = function 2;taster gedrückt halten = function 3.
    wie wäre es denn wenn Du für Dein Vorhaben einen AD-Port in Verbindung
    mit Spannungsteilern benutzt.

    Ein Beispiel dazu habe ich im ProgForum.com gefunden:
    20 Taster an einem Port.
    http://www.progforum.com/showthread....ghlight=matrix

    Auch die Folientastatur zum App-Board der c-control arbeitet nach diesem
    Prinzip.

    mfg Gerhard

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    08.05.2005
    Alter
    42
    Beiträge
    33
    @Gerhard
    hmm vielen dank für die idee doch dein Vorschlag würd mir nur was nützen wenn ich mehrere Taster Benötigen würde. Ist bei meinem Vorhaben aber nicht erwünscht. Ich habe nur einen Taster und der soll 3 functionen erfüllen.

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Wie wäre es damit?

    Wenn der Taster gedrückt wird, etwa 150ms warten und schauen ob er immer noch gedrückt ist.
    Wenn ja, nochmal etwa 150ms warten. Wenn er dann immer noch gedrückt ist, ist es einmal lang.
    Wenn nein, war es einmal kurz.
    Dann wieder abfragen.
    Und auswerten, ob das zweite mal, kein Tastendruck war, ein kurzer oder langer.

    Die Zeiten für kurz, 2 X kurz, lang und die Pause zwischen 2 X kurz müssen dann der Praxis angepasst werden.

    Die maximale Zeit, die eine Aktion dauern darf (1 sec für lang oder 400ms für kurz + 200ms für Pause zwischen den kurzen + 400ms für zweiten kurz) muss dann ermittelt werden.
    Der taster löst ein INT aus und in der ISR wird ein Timer mit der max. Zeit aktiviert.
    Vor beginn der ISR wird ein Merker gesetzt. Nur wen eine Tastenaktion bei gesetzem Merker erfolgt, gehört sie zu einer Gruppe (2 X kurz) nach ablauf der Zeit wird der Merker gelöscht und es kann von vorne beginnen.

    Oder

    Taste gedrückt. Schauen ob nach Zeitablauf für kurz immer noch gedrückt. Wenn ja, GOSUB Taste_lang.
    Wenn nein, GOSUB "_X_kurz. Dort die minimale Pausenzeit zwischen 2 mal kurz warten und nochmal schauen ob Taste gedrückt.
    Wenn nein, die maximale Pausenzeit warten und nochmals schauen.
    Wenn Taste erneut gedrück, denn war's 2 X kurz. Ansonsten RETURN zu einmal kurz.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •