4x3 Tastermatrix Schaltung

Gast #399739
Lesenswert?
• ▲
▼
Hallo

Ich möchte an einen AVR eine Tastermatrix anschließen. Wenn ich einen
Port als Eingang nutzen will, dann schalte ich den jeweiligen Pin auf
masse.
Nun will ich aber eine 4x3 Matrix aus 1 Poligen Tastern aufbauen, und
da habe ich nun ein Problem mit der Schaltung.

Vielleicht kann mir jemand auf die Sprünge helfen, und mir verraten wie
man soetwas Schaltungsmäßig realisiert, Dioden, Schieberegister etc.

bin für jede Hilfe dankbar
Bye Kai
Gast #399741
Lesenswert?
• ▲
▼
Nimm einfach einen PORT (8 bit) des µC, Schalte die ersten 4 bit als
Ausgang ('0') und die letzten 4 bit als Eingang (Pull-up) als Matrix.
Die ersten 4 bit Vertikal und die letzten4 bit horizontal. Das Ganze
wird bei der 2. Abfrage umgedreht. Die erste Abfrage fragt Vertikal,
die zweite horizontal ab. Nun kannst Du lokalisieren, welche Taste(n)
gedrücht wurde(n). Das ist bei einer Tastatur von max. 4x4 echt einfach
zu handhaben!
Gast #399742
Lesenswert?
• ▲
▼
Application Note AVR204 (oder AVR240) beschreibt das gleiche Thema nur
mit einer 16er-Tastatur.
Sonic hat schon denn richtigen Weg beschrieben.
Wenn man zwischen den beiden Überprüfungen noch eine kleine Pause
macht, um die Kapazitäten zu entladen, geht das ganz wunderbar.
#1924281
Lesenswert?
• ▲
▼
Guten Tag, ich habe das gleiche Problem, nur größer.
Meine Matrix soll 10*18 groß werden. das Prinzip mit den vertikalen und 
horizontalen Leitungen habe ich verstanden, allerdings bedeutet das, 
dass ich über mehrere Ports hinweg arbeiten muss.
Wie kann ich also per Programm feststellen, welcher Taster gedrückt ist, 
und wie kann ich hier effektiv entprellen?
Ferner soll jede Pinkombination bei aktiviertem Zustand einen Code 
bereitstellen, der dann zu einem zweiten Controller geschickt wird. Wie 
sieht hier die Realisierung in C aus?
Um eine Antwort wäre ich sehr dankbar,
Gruß David Z.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.