Eingangs- Ausgangsstrom an Tastatur-Matrix

Gast #4261532
Lesenswert?
• ▲
▼
Hallo, eine kurze Frage.

Habe ich  eine übliche Tastaturmatrix-Schaltung (z.B. 
http://www.mikrocontroller.net/attachment/353/matrix.txt),  und die 
Spalten sind GPIO-Ausgänge, dann sehe ich zu, dass sequentiell immer nur 
eine einzige Spalte auf 0 gelegt wird.

Frage ich dann die vier Eingänge ab, sehe ich, welche Tasten in dieser 
Spalte gedrückt sind. Anschließend lege ich die Spalte wieder auf 1, und 
setze die nächste Spalte auf 0, um erneut die vier Eingänge abzufragen.

Eine Taste schließt also immer einen Ausgang mit einem Eingang kurz.

Wenn der Ausgang aber gerade auf 1 liegt (Spalte wird gerade nicht 
abgefragt), dann fließ bei gedrückter Taste ein Strom direkt vom Ausgang 
in den Eingang.

Sind die Eingänge immer so hochohmig, dass ein Ausgang davon nicht 
überlastet wird?

(Allgemeine Frage – speziell geht es mir um einen µC Atmel ARM mit 
Cortex M3).
Gast #4261904
Lesenswert?
• ▲
▼
Beginner schrieb:
> Sind die Eingänge immer so hochohmig, dass ein Ausgang davon nicht
> überlastet wird?

Gegenfrage: macht ein niederohmiger Eingang an einem Mikrocontroller 
Sinn?

Interessanter ist aber die Frage, was passiert bei einem 
Programmierfehler, wenn unbeabsichtigt beide Pins auf Ausgang geschalten 
sind und diese unterschiedliche Pegel haben ohne Widerstand dazwischen?
Gast #4262077
Lesenswert?
• ▲
▼
Bestromer schrieb:
> Gegenfrage: macht ein niederohmiger Eingang an einem Mikrocontroller
> Sinn?

Nein, macht natürlich keinen Sinn.

Insofern gäbe es also nur ein Problem, wenn zwei Taster der gleichen 
Zeile gleichzeitig gedrückt werden, und deren beide Spaltenausgänge 
unterschiedliche Ausgangspotentiale haben.

Also muss ich nach dem Lesen einer Spalte deren Ausgangspin immer wieder 
auf Eingang zurückschalten, bevor ich die nächste Spalte auf Ausgang und 
low lege.

Danke!
Gast #4262097
Lesenswert?
• ▲
▼
Beginner schrieb:
> Also muss ich nach dem Lesen einer Spalte deren Ausgangspin immer wieder
> auf Eingang zurückschalten, bevor ich die nächste Spalte auf Ausgang und
> low lege.

Du schaltest die Spaltentreiber ein und aus, lässt sie aber immer auf Lo 
- dann ist die Sache sicher.

Eine typische Matrix hat z.B. npn-Transitoren als Spaltentreiber, die 
jeweils eine Spalte mit GND verbinden, und die Zeilen sind jeweils mit 
einem Pullup-Widerstand und einem Eingang verbunden. Dann gibt es ein 
logisches Durcheinadnder, wenn mehr als eine Taste gedrückt ist (was man 
mit Dioden verhindern kann), aber keinen Kurzschluss. Entsprechend 
programmierst du deine Spalten-Ausgänge wie Open Collector Ausgänge.

Hallo Klugscheisser: natürlich kann man Spalten und Zeilen vertauschen, 
funktioniert entsprechend.

Georg

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.