mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Tastermatrix mit Schieberegistern


Autor: Gizmo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

ich habe vor einen MIDI Controller zu konstruieren, der aus einer
Matrix
aus 8x8 Tstern besteht.

mein Problem ist, dass mir noch nicht ganz klar ist, wie man eine
Taster matrix aufbauen muss um jeden Taster einzeln abfragen zu können.


im Endeffekt ist die Matrix ja erst mal ein Gitter, an den
Schnittpunkte der Gitterlinien muss meines wissens ja immer eine Diode
zwischen X und  Y Leitung löten um Kurzschlüsse zu vermeiden.

kann mir da vielleicht jemand mit nem Taster Matrix Schaltplan weiter
helfen ?

meine Zweite Frage betrifft die Schiebe Register

ich habe ja durch die Taster Matrix eine X und Y Leitungen nun kann ich
doch vom µC aus die Tastenmatrix über Schiebe Register abfragen

hat jemand ne Ahnung wie das geht und was man da für Schiebe register
benötigt ?

danke schon mal für eure Hilfe

µC mit dem alles laufen soll ist ein ATMEAGA16

Autor: The Daz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gizmo,
ich mach sowas ohne Dioden. Verbinde jeweils den ersten Kontakt von
acht Tastern in X-Richtung miteinander so dass du acht Zeilen bekommst.
Dann verbindest du den anderen Kontakt von acht Tastern in Y-Richtung um
auf 8 Spalten zu kommen. Die Matrix hat jetzt 8+8 Kontakte. Die
Anschluesse in X-Richtung klemmst du an ein 8-bit Schieberegister mit
parallelem Ausgang (74HCT164), die Y-Richtung an ein 8-bit
Schieberegister mit parallelem Eingang. Der uC schiebt jetzt immer ein
Bit in X-Richtung weiter und fragt nach jedem mal X-Schieben die
Y-Richtung komplett (8-Bit) ab.

Aber mal ne Frage : Bist du sicher, dass du 64 Tasten brauchst ? Das
wird ja ein Monster auf der Buehne.

   Daz

Autor: The Daz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Statt des 74HCT164 kann man auch nen 3zu8 Dekoder (74HCT138) benutzen,
der braucht 3 Pins vom uC aber man spart sich dort dann die
Bitschieberei. Die Y-Richtung kann man auch direkt an den uC anklemmen,
sofern du genuegend I/O Pins am uC uebrig hast.

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn genügend Platz auf der Platine ist, kannst Du auch 8x 8-Bit
Schieberegister hintereinanderhängen, immer eine einzelne 1 durchlaufen
lassen, an jeden Registerausgang einen Taster hängen, alle 2. Tasterpins
auf eine "Rückleitung" klemmen, diese mit einem Pull-Down an den
Prozessor. Macht insgesamt 4 belegte Prozessorpins, 3 für´s Register
(Clock, Data, Strobe) und 1 für die Rückleitung. Das Ganze läßt sich
dann sehr übersichtlich aufbauen und man hat dan nicht so einen
Leitungssalat um die Taster drumherum.

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.