Forum: Mikrocontroller und Digitale Elektronik [Arduino] Tastenmatrix simulieren


von Ronny L. (Firma: Pro-Stoff Textilhandel) (graythezebra)


Lesenswert?

Hi,

ich habe leider derzeit ein Verständnisproblem und hoffe Ihr könnt mir 
helfen.

Ich habe 8 und 18 Anschlüsse die beliebig miteinander verbunden werden 
müssen je nach Anforderung.

Also z.B. 1 und 1 oder 5 und 7 oder 8 und 18 usw.

Ich kann hierbei auch nicht einfach ein High oder Low anlegen sondern es 
müssen immer jeweils zwei (ggf. auch mehrere) Anschlüsse verbunden 
werden.

Ich dachte bereits an einen 74hc4066 um die "Brücke" zwischen jeweils 
zwei Kontakten herzustellen aber dann brauche ich alleine davon 36 Stück 
und zusätzlich würde das viel zu viele Anschlüsse belegen.

Ich könnte zwar noch den 74xx595 verwenden aber ich denke das lässt sich 
eleganter lösen und ohne so viel externe Beschaltung.

Nun ist die Frage ob Ihr eine Idee habt wie man dies bewerkstelligen 
könnte.

THX

von Teo D. (teoderix)


Lesenswert?

Analog Multiplexer.
ZB: 74HC(x)4067/4051

von Stefan K. (stefan64)


Lesenswert?

Welche Signale laufen darüber? 3,3V, 5V, höher, digital oder analog? 
Muss die Verbindung bidirektional sein oder gehen die Signale immer in 
dieselbe Richtung? Welche Timinganforderungen gibt es, d.h. wie schnell 
muss ein Ausgang auf die Änderung seines Eingangs reagieren?

Viele Grüße, Stefan

von Teo D. (teoderix)


Lesenswert?

ER will mit nem Dings die Tastaturschnittstelle eines anderen Dings 
steuern/bedienen, da wird er wohl was bidirektionales brauchen, wie ER 
schreibt. Mit dem Rest kommt er sicher gut klar..... :)

von Erlang E. (erlang)


Lesenswert?

Ronny L. schrieb:
> Ich kann hierbei auch nicht einfach ein High oder Low anlegen sondern es
> müssen immer jeweils zwei (ggf. auch mehrere) Anschlüsse verbunden
> werden.

Ich denke so könnte es schon gehen. Der Tastatur-IC scannt ja die 
Tastatur indem er der Reihe nach Zeile für Zeile* auf ein definiertes 
Logic-Level legt und dann die anliegenden Logic Werte auf den einzelne 
Spalten einliest. Ich denke es sollte nicht so schwer sein, den Moment 
zu erkennen in dem die Zeile das Logic Level wechselt und dann 
entsprechend High / Low auf der Spalte auszugeben und so den Tastendruck 
zu simulieren.


* Ggf. Zeile und Spalte vertauschen, je nach konkreter Umsetzung / 
Benennung

: Bearbeitet durch User
von Stefan K. (stefan64)


Lesenswert?

Teo D. schrieb:
> ER will mit nem Dings die Tastaturschnittstelle eines anderen Dings
> steuern

Sorry, ich hatte die Überschrift nicht mit in die Fragestellung mit 
einbezogen.

Bidirektional sehe ich aber hier nicht wirklich.

Gruß Stefan

: Bearbeitet durch User
von Stefan K. (stefan64)


Lesenswert?

Willst Du immer nur eine gedrückte Taste simulieren oder müssen 
Mehrfachtastendrücke auch simuliert werden können?

Einfachtastendrücke lassen sich wesentlich einfacher realisieren.

Sind die Zeilentreiber die 8 oder die 18 Pins?

Gruß, Stefan

: Bearbeitet durch User
von Teo D. (teoderix)


Lesenswert?

Stefan K. schrieb:
> Willst Du immer nur eine gedrückte Taste simulieren oder müssen
> Mehrfachtastendrücke auch simuliert werden können?

Ronny L. schrieb:
> es
> müssen immer jeweils zwei (ggf. auch mehrere)

von Erlang E. (erlang)


Lesenswert?

Stefan K. schrieb:
> Einfachtastendrücke lassen sich wesentlich einfacher realisieren.

Wie würde das konkret gehen?

von Stefan K. (stefan64)


Angehängte Dateien:

Lesenswert?

Michael E. schrieb:
> Wie würde das konkret gehen?

Beispiel für einen high-aktiven Zeileninput:

Der mc schaltet im Ruhezustand sowohl die Zeilen-Eingänge als auch die 
Spalten-Ausgänge auf low.
Soll eine Taste simuliert werden, z.B. in Zeile 2, Spalte 3, dann 
schaltet der mc seinen Zeileneingang 2 und seinen Spaltenausgang 3 auf 
High-Z. Damit wird beim aktiven (High) Zeile 2 Puls der Spaltenausgang 3 
ebenfalls ein High liefern.

Bei low-aktiven Signalen müssen die Dioden umgekehrt verwendet werden 
und der Ruhezustand an den mc-Pins ist High.

Die Logik kann natürlich statt mit Dioden und Widerständen auch mit 
Gattern realisiert werden. Die Skizze habe ich mal mit 4/4 Matrix 
gemalt, sie kann natürlich beliebig erweitert werden.

Diese Schaltung funktioniert nicht, falls Mehrfachtastendrücke simuliert 
werden sollen. Die meisten Tastaturen sind aber dafür auch garnicht 
ausgelegt (dafür muss jede einzelne Taste mit einer Diode entkoppelt 
werden).

Viele Grüße Stefan

von Ronny L. (Firma: Pro-Stoff Textilhandel) (graythezebra)


Lesenswert?

Teo D. schrieb:
> Analog Multiplexer.
> ZB: 74HC(x)4067/4051

Das sieht fast exakt nach dem aus was ich brauche. Die Frage ist jetzt 
noch ob die kaskadierbar sind, soweit ich das jetzt herauslesen konnte 
nicht aber mein Englisch ist auch nicht gerade "the yellow from the egg" 
und mein Hauptgeschäft sind Textilien ;)

Wenn ich das richtig verstehe müsste ich mit maximal 4 Stück davon 
auskommen.

: Bearbeitet durch User
von Teo D. (teoderix)


Lesenswert?

Ronny L. schrieb:
> Die Frage ist jetzt
> noch ob die kaskadierbar sind

Der Begriff pass hier nich so ganz, eher zusammenschalten. Du steuerst 
das ja über Adressleitungen parallel an.

Ronny L. schrieb:
> Wenn ich das richtig verstehe müsste ich mit maximal 4 Stück davon
> auskommen.

Jo.

von Andreas R. (daybyter)


Lesenswert?

Hab mal mit nem MT8812AE eine PC Tastatur am c64 angeschlossen. 
Vermutlich suchst Du so was.

von Wolfgang (Gast)


Lesenswert?

Ronny L. schrieb:
> Ich habe 8 und 18 Anschlüsse die beliebig miteinander verbunden werden
> müssen je nach Anforderung.

Bist du sicher, dass du an dieser Stelle mit deiner Mimik eingreifen 
möchtest? Genauso könntest du vielleicht nach einer kleinen 
Robotersteuerung fragen, der es ermöglicht, die Tasten direkt zu 
drücken.

Was ist die Aufgabe, die dahinter steht.

von Jobst M. (jobstens-de)


Lesenswert?

EPROM(s)

Die Abfrageleitungen (Ausgang) mit den Adressleitungen verbinden, die 
Datenleitungen mit den Abfrageleitungen (Eingang) verbinden. Mit den 
verbleibenden Adressleitungen die gewünschte 'Taste' einstellen.
OE und CE des/der EPROMs auf GND.
Entsprechendes Muster in das/die EPROM(s) brennen.


Gruß
Jobst

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.