www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 4x4 Keypad Matrix Frage, wie verstehe ich die Schaltung?


Autor: Alejandro P. (alejo)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

zum lern zwecke (Tasten Eingabe, Codeschloss etc.)  möchte ich dieses 
4x4 Keyboard Matrix kaufen nun die Schaltung verstehe ich aber nicht 
ganz da PIN1 bis PIN4 Eingänge und PIN5 bis PIN8 Ausgänge sind.

Frage, warum Ausgänge?
Frage, wenn ich Taste 1 drucke wird PIN8 Aktiv und „fahre“ über 1x10K 
Widerstand, wenn ich die Taste 2 drucke ist genau so PIN8 -->1x10K oder? 
Wie kann ich dann unterscheiden ob Taste 1 oder 2 gedruckt würde?

Kann mich jemand helfen?
Gruß
Alejo

Autor: Einer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du must je einen der Eingänge auf Masse legen.

z.b. pin 8 auf masse und schauen ob einer der pins 1 - 4 auch auf masse 
ist.

Autor: Marc B. (belgo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also,

die Widerstände und die eingezeichnete Spannungsversorgung kannst du 
eigentlich weglassen wenn du das ganze mit einem µc betreiben möchtest.

Alle 8 Pins schließt du an einen Port des µc an, Pin1 bis 4 werden am µc 
als Ausgänge definiert und Pin 5 bis 8 werden als Eingänge definiert ( 
mit internen Pullups angeschaltet ).

Du kannst das ganze ganze auch ohne die internen Pullups betreiben, dann 
brauchst du allerdings auch wieder die 4 Wiederstände ( Externe Pullups 
).

Pin1 bis 4 werden gemultiplext, d.h. zuerst alle auf high seten und dann 
abwechelnd einen nach dem anderen auf low ziehen. ( Z.B. im 20ms Takt )

In dem Moment wo einer der Pins1 bis 4 auf low ist schaust du was sich 
am Eingang der Pins5 bis 8 tut ( ist eine Taste gedrückt wird der 
korrespondierenede Eingangspin auf low gezogen und du bekommst du das 
entsprechende Bitmuster an diesem Nibble zu sehen )

In der Praxis: Pin 3 ist gerade auf low, du hast Taste A betätigt, dann 
wird Pin 6 auf low gezogen.

( 1011 1011 )

So bekommst du immer ein anderes Bitmuster je nach dem welche Taste 
betätigt ist.

Gruss Marc

Autor: Alejandro P. (alejo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Marc

ok vielen Dank habe schon etwas verstanden!

Autor: Gast1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Pin1 bis 4 werden gemultiplext, d.h. zuerst alle auf high seten und
> dann abwechelnd einen nach dem anderen auf low ziehen.

Was passiert bei Betätigung von 2 Tastern? Richtig, Kurzschluss zwischen 
high und low.

Autor: Marc B. (belgo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

> Was passiert bei Betätigung von 2 Tastern? Richtig, Kurzschluss zwischen
> high und low.

Also ich arbeite mit AVR Controllern, die haben da keine Probleme mit.
Habe schon viele Male so eine 4x4 oder 4x3 Tastatur in Projekte 
eingebunden ohne Probleme.

Du kannst sogar mit der ganzen Handfläche von mir aus auf die Tastatur 
drücken, da passiert nix.

Du wirst immer nur ein Bitmuster bekommen. Dieses vareiert natürluch 
jenachdem welche tasten du gleichzeitig drückst.

Betätigst du zb 9,0,A,B gleichzeitig bekommst du ein Bitmuster immer 
gleichbleibend. Egal welcher Pin auf low ist.

Betätigst du zb 3,7,A,E gleichzeitig bekommst du bei jedem low ziehen 
eines Pin immer ein anderes Bitmuster an Pin5 bis 8 zurück.

---> Ausserdem welcher Idiot drückt schon 2 Tasten, welchen Sinn macht 
das, das passiert doch höchstens unabsichtlich und warscheinlich sehr 
selten !!!!

Gruss Marc

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe zu diesem Thema noch ein paar kurze Fragen:

1: Sind die Eingänge 5-8 (wenn keine Taste gedrückt wird) prinzipiell 
HIGH?
Da diese ja laut Erklärung nicht beschaltet sind, solang keine Taste 
gedrückt wird und sie dann über die Pull-Up-Widerstände auf LOW gezogen 
werden.

Vielen Dank im Vorraus

Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter schrieb:
> Sind die Eingänge 5-8 (wenn keine Taste gedrückt wird) prinzipiell
> HIGH?

Wie kommst Du darauf?

Peter schrieb:
> Pull-Up-Widerstände auf LOW

Bist Du High?

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marc B. schrieb:
> In der Praxis: Pin 3 ist gerade auf low, du hast Taste A betätigt, dann
>
> wird Pin 6 auf low gezogen.
>
>
>
> ( 1011 1011 )

Warum Pin 6 dann low ist verstehe ich, aber warum sind die anderen high?

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
weil sie über den Pullup auf high gezogen sind, solange sie nicht über 
den Taster x auf low gezogen werden...

JJ

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich stehe momentan total auf der Leitung.

Die Pull-Ups sind doch aber mit den Eingängen nicht verbunden außer eine 
Taste wird gedrückt. Oder lese ich die obige Schaltung falsch?

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marc B. schrieb:
>> Kurzschluss zwischen high und low.
> Also ich arbeite mit AVR Controllern, die haben da keine Probleme mit.
Es gibt auch noch andere uCs...

> Du kannst sogar mit der ganzen Handfläche von mir aus auf die Tastatur
> drücken, da passiert nix.
Nur weil der uC nicht kaputtgeht, bedeutet das noch lange nicht, dass 
es ihm gut gefällt...
Richtigerweise schaltet man nur 1 Ausgang mit aktivem Pegel (hier 
sinnvollerweise mit einem aktiven Low-Pegel wegen der Pullups), und den 
Rest der uC-Pins auf hochohmig.

Und jetzt zur Funktion: an den Pins 5-8 hängen uC-Eingänge mit 
aktivierten Pullups.
Jetzt wird der Pin 1 auf Low gelegt, die Pins 2-4 werden auf Eingang mit 
Pullup geschaltet. Jetzt können die Tasten 1,5,9 und C eingelesen 
werden: je nach dem, welcher vom Pin 5-8 Low ist, wurde die 
entsprechende Taste betätigt.
Danach wird der Pin 2 auf Low gelegt, die Pins 1,3 und 4 auf 
Pullup-Eingang geschaltet. An den Pin 5-8 können jetzt die Tasten 2,6,0 
und D eingelesen werden.
Dann kommt der Pin 3 und danach noch der Pin 4.

Gleichzeitig sollte jedesmal an den Pins 1-4 kontrolliert werden, ob 
tatsächlich nur 1 Leitung auf Low ist (nämlich die, die gerade Ausgang 
sein darf). Sind nämlich 2 Leitungen auf Low, dann hast du (mindestens) 
eine Doppelbetätigung, evtl. sogar mehrere...

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.