Felix G
06.04.2005, 18:02
Ich möchte eine 4x4 Matrix Tastatur auswerten, was ja eigentlich kein Problem ist.
allerdings muss es möglich sein beliebig viele Tasten gleichzeitig zu drücken.
Angenommen die Spalten hängen an Ausgängen vom µC, die Zeilen an Eingängen.
Dann würde man doch normalerweise eine 0 durch die Spalten schieben, und jeweils die 4 Zeilen einlesen, oder?
Aber jetzt sehe ich da ein kleines Problemchen...
Was wenn man einige Tasten so betätigt, daß man eine Art L-Form erhält?
Gehen wir mal das Bild Spalte für Spalte durch...
In der ersten Spalte passiert nichts, man erhält für die Zeilen das Bitmuster "1111"
Dann kommt Spalte B, auch hier klappt alles und man erhält "1001"
Aber bei Spalte C gibt es ein Problem...
Da die drei gedrückten Tasten eine elektrische Verbindung zwischen Zeile 2 und 3 herstellen,
scheint es so als wäre auch die Taste C2 betätigt worden obwohl das nicht der Fall ist.
(man erhält wieder "1001", korrekt wäre "1101")
irgendwelche Vorschläge?
allerdings muss es möglich sein beliebig viele Tasten gleichzeitig zu drücken.
Angenommen die Spalten hängen an Ausgängen vom µC, die Zeilen an Eingängen.
Dann würde man doch normalerweise eine 0 durch die Spalten schieben, und jeweils die 4 Zeilen einlesen, oder?
Aber jetzt sehe ich da ein kleines Problemchen...
Was wenn man einige Tasten so betätigt, daß man eine Art L-Form erhält?
Gehen wir mal das Bild Spalte für Spalte durch...
In der ersten Spalte passiert nichts, man erhält für die Zeilen das Bitmuster "1111"
Dann kommt Spalte B, auch hier klappt alles und man erhält "1001"
Aber bei Spalte C gibt es ein Problem...
Da die drei gedrückten Tasten eine elektrische Verbindung zwischen Zeile 2 und 3 herstellen,
scheint es so als wäre auch die Taste C2 betätigt worden obwohl das nicht der Fall ist.
(man erhält wieder "1001", korrekt wäre "1101")
irgendwelche Vorschläge?