PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 3 Taster mit verschiedenen Funktionen ???



Papsi
04.02.2008, 22:18
Hallo,

ich habe 3 Taster(mehr gehen leider nicht) und damit möchte ich folgendes steuern.

Also Taster 1, 2 und 3
1 = hoch/links
2 = runter/rechts
3 = weiter/zurück

Taster 1+2 wird hauptsächlich verwendet um in den Menüs hin und herzuschalten.

Taster 3 hat folgende Funktion
1. kurz tasten weiter
2. 3 sec. halten, dann zurück

Jetzt habe ich eine Menü und da kann ich schon navigieren mit debounce.

Dann gibts einen Menüpunkt, wo ich Variablen verändern will.
Das möchte ich gerne so machen:
Wenn ich Taster 3 festhalte und innerhalb von 3 sec. die Taster 1 oder 2 drücke, soll sich die Variable ändern, bis ich die Taster wieder loslasse.

Wie kann ich das am besten anstellen?
Meine Versuche mit Debounce fuktionieren nur mit einem Taster...

mfG

Papsi
07.02.2008, 18:14
kann keiner helfen... ???

stefan_Z
07.02.2008, 19:17
Du könntest ja nen Zähler machen, wenn 3 gedrückt wird. Wenn der dann nach 1 sek. oder überläuft, dann springst du in eine Routine die die Funktion von 1+2 ändert, ansonsten nicht.

for_ro
07.02.2008, 20:41
ich habe 3 Taster (mehr gehen leider nicht)

Hast du keinen Platz mehr oder keine Pins mehr frei?
Kannst du nicht einen Analog Eingang nehmen?
Deine doppelt-Belegung sieht schon etwas "gewöhnungsbedürftig" aus ;-)

Gruß

Rolf

Papsi
07.02.2008, 21:17
1. habe ich keine Pins mehr frei
2. ist die Platine schon fertig und ich kann keine Reihenklemmen mehr nachrüsten.

War erst anders geplant, sonst hätte ich gleich 5 Taster gemacht.

Nun habe ich aber leider nur 3 zur Verfügung.


Ich habe an meiner Heizung solche eine Tastensteuersystem.
Daher wollte ich das an dieder Steuerung genauso machen.
Klappt aber irgendwie alles nicht.



Wie könnte ich das mit den Timer machen?

Gento
08.02.2008, 06:21
Wenn man schon Nachbauten macht und Leiterplatten anfertigt , sollte man vorher nachdenken und das andern nicht überlassen.

Gento

Vitis
08.02.2008, 08:00
gento, das ist aber nicht sehr produktiv ....

also, man nehme einen Timer, der in seiner ISR eine globale variable hochzählt.
dann nehme men eine Subroutine, die bei keydown angesprungen
wird und loopt, solange die Taste gedrückt ist oder bis die Timervariable
einen bestimmten Wert erreicht. natürlich setzt man beim sprung in die Sub die Timervariable zurück.
hinter dem loop kann man dann unterscheiden, ob timervariable
hochgezählt ist oder nicht.

Papsi
08.02.2008, 13:47
@ gento
So ein Schwachsinn kannst Du Dir sparen...

Ich plane und ätze mein Zeug schon selber, aber man kann ja mal in der Testphase noch was mit einbauen, was am Anfang nicht geplant war. Und das ist hier der Fall.

hululu
08.02.2008, 15:59
wenn du noch nen analogen Port frei hast kannst du auch 5 Taster an diesen Port hängen. Musst einfach noch ein paart widerstände dazutun (Spannungsteiler)

Gento
09.02.2008, 05:30
Selbst an der Ur-Ur alten C-Control konnte man sicher 10 Taster über einen AD Port auswerten.
Und hier sollen jetzt Klimmzüge und lass mal andere nachdenken ..... greifen.

Manche sollen ja mit dem LKW zum Obi fahren um eine Flasch Wasser zu kaufen. Und womöglich noch Timergesteuert blinken.
lg Gento