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
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.
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
Hallo Marc ok vielen Dank habe schon etwas verstanden!
> 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.
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
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
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?
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?
weil sie über den Pullup auf high gezogen sind, solange sie nicht über den Taster x auf low gezogen werden... JJ
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?
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...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.