Forum: Mikrocontroller und Digitale Elektronik Schaltermatrix - mehrere Tasten gleichzeitig drücken


von Eee E. (snake4)


Lesenswert?

Hallo,

ich habe eine 5x5 Schaltermatrix gebaut. Allerdings ist mir jetzt 
aufgefallen, dass ich nicht so viele Schalter aufeinmal drücken kann. Je 
nachdem nichtmal 3. Denn dann werden 4 als gedrückt erkannt.

Kann man da irgendwas machen, auser die Matrix wegschmeisen?

MfG

von holger (Gast)


Lesenswert?

>Kann man da irgendwas machen, auser die Matrix wegschmeisen?

Das Programm ändern?

von Eee E. (snake4)


Lesenswert?

Habe ich was falsch programmiert?

von Karl H. (kbuchegg)


Lesenswert?

Woher sollen wir das wissen?

Wir kennen weder die Schaltung, die du verbaut hast, noch das Programm. 
Und beispielsweise meine Kristallkugel ist schon in den 
Weihnachtsferien.

von Daniel H. (Firma: keine) (commander)


Lesenswert?

Eee E. schrieb:
> Habe ich was falsch programmiert?

Ja, in der main.c in Zeile 56 hast du ein "break" in der 
switch-Anweisung vergessen.

von Eee E. (snake4)


Lesenswert?

Ihr könnt natürlich nicht wissen wo der Fehler ist, ohne was zu wissen. 
(-:

Aber mir scheint es sollte eigentlich nicht passieren? Oder es könnte 
zumindest funktionieren, hätte man denn alles richtig gemacht?

von mr. mo (Gast)


Lesenswert?

ROFL. ohne plan oder code wird dir diese frage wohl keiner beantworten 
können!

von Karl H. (kbuchegg)


Lesenswert?

Kommt jetzt von dir noch irgendeine Info, mit der man etwas anfangen 
kann oder soll ich den Thread gleich sperren?

Wir sind doch hier nicht auf dem Jahrmarkt bei der Wahrsagerin!

von Daniel H. (Firma: keine) (commander)


Lesenswert?

Ganz im ernst, wir kennen deinen Schaltplan nicht, wir kennen deinen 
Code nicht, wir wissen nicht wie deine Platine aussieht, woher sollen 
wir dir da irgendwas Gescheites sagen können?

von Karl H. (kbuchegg)


Lesenswert?

Alte Programmiererweisheit aus dem mittleren Hinter-Vorder-Asien:

Kaum macht man es richtig, funktioniert es auch schon.

von Eee E. (snake4)


Lesenswert?

Ich wollte ja garnicht, dass ihr ihr den Fehler findet. Sorry. Ich hatte 
gedacht, dass eine Schaltermatrix sowas einfach ansich hat, dass man 
nicht mehrere Schalter gleichzeitig drücken kann.

Scheinbar ist es aber doch möglich und ich habe einen Fehler gemacht.

Ich werde gleich mal die Informationen zur Problemlösung geben.

von apr (Gast)


Lesenswert?

Du willst vor jede Taste eine Diode setzen.

von Eee E. (snake4)


Angehängte Dateien:

Lesenswert?

Ich habe mal ein Bild angehängt, was zeigt, wo ich meine, dass der 
Fehler sein müsste. Meistens befindet er sich ja nicht da, aber damit 
ihr meinen Gedankengang verstehen könnt.

Die grünen Schalter sind zu diesem Zeitpunkt gedrückt.

von Matthias L. (matze88)


Lesenswert?

Einfach mit Dioden verhindern, dass eine High-Impedance Spalte über 
einen Schalter low gezogen werden kann. Erfordert natürlich pro Schalter 
eine Diode.

von VAR (Gast)


Lesenswert?

fehlende Dioden! Vor jeden Schalter, dann geht's.

von Eee E. (snake4)


Lesenswert?

Es freut mich sehr, dass jemand mein Problem auch ohne Code und 
Ähnliches lösen könnte. Ich dachte schon meine Frage wäre wieder 
saumäßig blöd.

Danke euch.

Aber vor jeden Schalter eine Diode zu setzen scheint mir zimlich 
aufwändig. Es gehlt wohl nicht anders.

Danke

von Helmut L. (helmi1)


Lesenswert?

Du must vor jedem Taster eine Diode schalten sonst geht das nicht mit 
mehrfach Tastenerkennung. Das ganze nennt sich N-Key Rollover erkennung.

von Eee E. (snake4)


Lesenswert?

Dieses Wort hatte ich noch nie gehört. Gut zu wissen.

Ghosting hatte ich schon mal gehört.

von Guido Körber (Gast)


Lesenswert?

Den Effekt nennt man "Phantom-Keys". Der tritt immer dann auf wenn 
mindestens drei Tasten betätigt sind und die in der Matrix drei Ecken 
eines Rechtecks darstellen. Dann wird die Taste auf der vierten Ecke 
auch als betätigt erkannt. Das ist ein physikalischer Effekt, der sich 
nur durch Einfügen von Dioden an allen Tasten beheben lässt.

Alternativ dazu kann man bei Tastaturen versuchen alle "üblichen" 
Tastenkombinationen so in der Matrix zu verteilen, dass sie keine 
Rechtecke ergeben, oder man fügt an bestimmten Tasten eine Diode ein, um 
so die Zahl der Kombinationen zu erhöhen, die ohne Phantom-Keys 
funktionieren. Aber wenn man alle beliebigen Kombinationen in einer 
Matrix fehlerfrei erkennen will, dann geht kein Weg an einer Diode an 
jeder einzelnen Taste vorbei.

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.