Für ein Projekt, an dem ich arbeite, möchte ich eine einfarbige 9x9-LED-Matrix mit 9 Drucktasten bauen, um die LEDs mit dem PIC zu steuern. Bisher habe ich festgestellt, dass ich denke, dass ich Schieberegister zum Ansteuern der Kathoden und Schieberegisterchips zum Ansteuern diskreter Transistoren für die Anoden benötigen werde. Ich benötige auch Schieberegister für die Drucktasteneingänge. (Bitte korrigieren Sie mich, wenn ich falsch liege).
Ich habe Probleme, online nach relevanten Informationen zu suchen (z. B. welche Komponenten zu wählen sind). Kann mir jemand ein paar Ideen zur Recherche geben oder relevante Ratschläge wären sehr hilfreich! Danke
Ich gehe davon aus, dass Sie die gemeinsame Anode der Matrix ansteuern möchten, dh jeweils eine Anodenleitung.
Sie haben bereits die Transistoren für die Anoden erwähnt, und das ist richtig, Sie werden sie brauchen, weil Sie Strom für bis zu 9 LEDs gleichzeitig liefern müssen, und das ist zu viel für einen Logik-IC wie ein 74HC595-Schieberegister. Das werden 9 PNP-Transistoren sein.
Aber Sie brauchen auch Transistoren für die Kathoden; Sie möchten bis zu 9 Ausgänge gleichzeitig niedrig treiben, und bei 20 mA pro LED (ein typischer Wert) ist das zu viel für einen 74HC595. Das sind 9 NPN-Transistoren.
Sie müssen 18 Zeilen steuern, also können Sie dafür drei 74HC595 verwenden, wobei Sie für jede Scanzeile 18 Bit verschieben: 9 Bit, um die Anodenzeile auszuwählen, das ist 1 Bit niedrig, der Rest hoch und 9 Bit für die Kathoden , hoch für ein, niedrig für aus.
Die gute Nachricht ist, dass Sie kein separates Schieberegister für die Tasten benötigen: Verbinden Sie jeden von ihnen mit einer Anodenleitung, wobei die anderen Pins mit einem Eingang verbunden sind, und schließen Sie an diesem Eingang einen Pulldown-Widerstand an.
Jetzt können Sie jedes Mal, wenn Sie eine Anodenleitung scannen, am Eingang sehen, ob die Taste für diese Leitung gedrückt ist; Eingang High = gedrückt, Eingang Low = losgelassen.
Wenn Sie erwarten, dass Benutzer zwei Tasten gleichzeitig drücken (das werden sie immer!), müssen Sie Dioden in Reihe mit den Tasten schalten, um zu verhindern, dass andere LED-Reihen als die ausgewählte aufleuchten.
Bearbeiten Sie Ihren Kommentar
In Ihrer Skizze haben Sie die Widerstände der LEDs in den Spalten, was in Ordnung ist, wenn Sie die Anzeige jeweils eine Zeile ansteuern. Andernfalls teilt der Widerstand den Strom für alle LEDs in einer Reihe, und die Helligkeit variiert mit der Anzahl der eingeschalteten LEDs. In meinem Schema unten habe ich sie in die Reihen verschoben, sodass jede LED ihren eigenen Widerstand hat.
Die Kreise stellen die LEDs dar. Der Eingang des Mikrocontrollers wird durch den Widerstand nach unten gezogen. Wenn eine der Tasten gedrückt wird, geht der Eingang hoch, wenn die zugehörige Spalte ausgewählt ist. So können Sie bei jedem Spaltenscan den Status einer Schaltfläche überprüfen. Die Dioden verhindern das Aufleuchten von LEDs in anderen Spalten als der aktiven, wenn mehr als eine Taste gleichzeitig gedrückt wird.
Daniel
stevenvh
Daniel
Daniel
Daniel
stevenvh
Daniel
Daniel
stevenvh