Viele Tasten entprellen..

Hallo,

hab jetzt schon einiges über die Möglichkeiten gelesen, Tasten zu entprellen.

Leider konnte ich folgendes Problem bisher nicht für mich lösen:

Ich möchte erreichen, dass an einem "Schaltpult" mehrere Taster gleichzeitig gedrückt werden können, ohne dass dabei Unsinn rauskommt.

Diese einzelnen Drückvorgänge sollen dann z.B. das Senden von Befehlen über RS232 auslösen.

Bei den ganzen Beispielen im Netz wird falst immer nur vom Softwareentprellen einzelner Tasten ausgegangen.

Drückt man jedoch mehrere Tasten gleichzeitig, können die Ergebnisse unvorhersehbar sein.

Ich habe praktisch zwei Probleme:

  1. Ich suche eine Möglichkeit viele Tasten gleichzeitig wenn es geht per Software zu entprellen.
  2. Ausgabe der RS232-Befehle leicht zeitversetzt, obwohl Tasten "gleichzeitig" gedrückt wurden.

Da ich nicht in der Lage bin diesen Code auf die Arduinosftware anzupassen..

Entprellung – Mikrocontroller.net (Timer-Verfahren)

..und mir acht Knöpfe auch nicht reichen, bin ich wie wild am suchen.

Vielleicht hat ja mal wieder jmd. eine tolle Idee..

Gruß Chris

PS: Notfalls muss ich halt doch sowas verbauen: http://www.jameco.com/Jameco/Products/ProdDS/321736ELAB.pdf

Und wenn Du nacheinander alle Taster abfragst und zugehörigen Zustände in Variablen speicherst, dann 50ms wartest, dann die Ergebnisse zum Serial schickst, dann alle Variablen wieder löschst, von vorne anfängst. Müsste genügend Zeit vergehen bis sich die Kontakte beruhigt haben.

Möglicherweise vergeht durch das serielle Versenden schon genügend Zeit bist die Prellerei vorbei ist. :wink: Hast Du es denn schon mal ausprobiert ?

Chris72622:
Ich möchte erreichen, dass an einem "Schaltpult" mehrere Taster gleichzeitig gedrückt werden können, ohne dass dabei Unsinn rauskommt.

Gib uns mal Deine Definitionen für die beiden Begriffe "gleichzeitig" und "Unsinn"!

Auf einem Controller mit 16 MHz Systemtakt ist "gleichzeitig" normalerweise alles, was innerhalb einer sechzehnmillionstel Sekunde passiert.

Egal wie gut Du beim Tastendrücken bist: Mehrere Tasten "gleichzeitig" (= innerhalb einer sechzehnmillionstel Sekunde) wirst Du nicht drücken können.

Was Du machen könntest, um "beim gleichzeitigen Tastendrücken" keine "Zwischenzustände" auszuwerten, wäre beispielsweise folgende Logik:

  1. Warte, bis "alle Tasten oben" sind
  2. Sobald die erste Taste gedrückt wird: Warte 200 Millisekunden
  3. Nach den 200 Millisekunden sieh nach, welche Tasten alle gedrückt sind

Wie sind die Tasten denn angeschlossen?
Jede einzeln an einem Eingang, als Matrix oder als Matix mit Dioden?
Grüße Uwe

Hallo,

den Begriff "Tastatumatrix" kannte ich bisher noch nicht.

Bin auf das hier gestoßen- scheint genau das zu sein, was ich brauche:

http://playground.arduino.cc/Code/Keypad

Danke!!

Gruß Chris