www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik IT-Schulprojekt: Matrixschaltung


Autor: Paul Paul (xanatos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

wir sind in der 12.Klasse und haben uns entschieden eine Matrixschaltung 
(Gitter) von jeweils 8x8 Leitungen zu bauen. Es soll im Endeffekt eine 
art Touchpad sein. Das Ganze wollen wir über einen Mikrocontroller(8051) 
an den Pc anschließen.
Da wir uns nicht so auskennen brauchen wir noch Informationen:

Hier mal 2 Fragen:

Es ist ja wahrscheinlich nicht möglich 16 Leitungen als Eingänge zu 
benutzen, also muss man das über einen Dekoder an den Mikrocontroller 
anschließen.
Welche Varianten gibt es da, gibt es da auch programmierbare Bausteine 
die jedem möglichen Zustand eine Adresse zuweißt?

Außerdem: Welchen Mikrocontroller sollte man verwenden?

Danke schonmal im Vorraus über eure Antworten

Grüße Xanatos

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
warum sollte es nicht möglich sein, 16 Leitungen an einen MC 
anzuschliessen? Mit einem 89C51/52 gar kein Problem, der hat doch 32 
I/Os.
Natürlich gibts dafür ganz viele Lösungen, aber das ist schon die 
einfachste.

Autor: Christoph Kessler (db1uq) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dasselbe macht man auch mit Tastaturen, eine Matrix mit einer Diode in 
Serie zu jedem Schalter-Kreuzungspunkt. Werden 2 oder mehr Tasten 
gleichzeitig gedrückt, dann weiß die Software erat mal nicht, was gelten 
soll. Stichwort "2-key-rollover" und "n-key-rollover"
Man kann einen "Prioritäts-Encoder verwenden, 74HC147 oder 148, das 
vereinfacht den Anschluß am Mikrocontroller

Autor: Christoph Kessler (db1uq) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
noch mal 4 Leitungen spart ein 3Bit-zu-8-Decoder wie der 74HC42
http://www.st.com/stonline/products/literature/ds/1973.pdf
Daten zum 74HC147:
http://www.st.com/stonline/products/literature/ds/...
damit braucht man statt 16 nur noch 6 Portanschlüsse am Mikrocontroller

Autor: Christoph Kessler (db1uq) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt nicht ganz, wenn wirklich alle 64 benutzt sind, gibt es noch 
einen 65.Zustand, dass nichts gedrückt ist, das kostet noch ein Portbit.

Autor: Paul Paul (xanatos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
joa schonmal danke für die teilweiße verwirrende antworten ;)

wäre es nicht einfach wenn man vor dem mikrocontroller 2 Dekoder 
schaltet die jeweils für eine der 2 achsen zuständig sind und das 
ergebnis an den MC weitergeben.

Welche Bausteine sollen wir als Dekoder benutzen?
Mit welchen MC ist jetzt dies am besten lösbar?
Und wo bekomme ich günstig diese Bausteine/MC her?


Mit freundlichen Grüßen

Vadim und Xanatos

Autor: Matrixer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
hier mal eine App-Note für einen PIC-Mikrocontroller:
http://ww1.microchip.com/downloads/en/AppNotes/4_012.pdf
Und das gleiche in grün gibt's auch bei ATMEL:
http://www.atmel.com/dyn/resources/prod_documents/...
Das Prinzip ist immer identisch,
es werden die Tasten über kreuz mit zwei Portpins verbunden.
Solange nur eine einzige Taste erkannt werden soll sind keinerlei Dioden 
o.ä. notwendig.
Wenn mehrere Tasten gleichzeitig dedektiert werden sollen, müssen sie in 
den Diagonalen durch Dioden begrenzt werden.
Leider finde ich gerade die sehr gute Seite mit ALLEN Varianten nicht :(
Aber das Prinzip geht aus den genannten AppNotes klar hervor ;)
Viel Spaß bei experimentieren ;)

Autor: Paul Paul (xanatos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie sieht es mit der Polung der Ein und Ausgänge aus sind die Eingänge 
(waggrecht)+ und die Ausgänge (senkrecht)- gepolt das die 
Matrixschaltung so aufgebaut wernde kann. Oder gib es Eingänge die - 
oder + gepolot sind und man nur mit Eingängen Arbeiten kann.

Autor: Karl Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hajo nehm den 8051er

Autor: Paul Paul (xanatos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ähm ja ne, aber welchen genau?

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lord Xanatos wrote:
> ähm ja ne, aber welchen genau?

Am einfachsten, einen mit Bootloader, z.B. AT89C51ED2.


Peter

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.