Forum: Mikrocontroller und Digitale Elektronik [Arduino] Tastenmatrix simulieren


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Ronny L. (Firma: Pro-Stoff Textilhandel) (graythezebra)


Bewertung
-1 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
Analog Multiplexer.
ZB: 74HC(x)4067/4051

von Stefan K. (stefan64)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
-1 lesenswert
nicht lesenswert
Stefan K. schrieb:
> Einfachtastendrücke lassen sich wesentlich einfacher realisieren.

Wie würde das konkret gehen?

von Stefan K. (stefan64)


Angehängte Dateien:

Bewertung
-2 lesenswert
nicht 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)


Bewertung
-2 lesenswert
nicht 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)


Bewertung
-1 lesenswert
nicht 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)


Bewertung
-1 lesenswert
nicht lesenswert
Hab mal mit nem MT8812AE eine PC Tastatur am c64 angeschlossen. 
Vermutlich suchst Du so was.

von Wolfgang (Gast)


Bewertung
-2 lesenswert
nicht 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)


Bewertung
-2 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.