Moin moin liebe Mikrocontroller'er, da mir leider keine Idee mehr kommt, muss ich mich nun an euer Forum wenden. Ich bastel' momentan an einem 4x4 Taster-Feld, was eine Steuerung für ein Lichtpult werden soll. Diese Taster sollen einen Impuls an den jeweiligen Pin eines D-Sub-Steckers liefern. Mit einem zusätzlichen, 17. Taster wird über einen Extra-Pin ein "Go"-Befehl an das Pult gesendet. Soweit ist diese Schaltung auch kein Problem. Nun zu meinem Anliegen: Wenn ein Taster gedrückt wird und der "Go!"-Taster betätigt wird, soll eine jeweilige LED über dem vorher gedrückten Taster dauerhaft anspringen, um zu signalisieren, dass dieser Taster getriggert wurde. Bei drücken eines anderen Tasters, soll die vorher leuchtende LED wieder ausgehen und die LED des gedrückten Knopfes wieder angehen. Wie löst man so etwas am besten? Zur Ansteuerung der LED's würde ich ebenfalls gerne wissen, wie man sowas am besten ansteuert... ich hätte aus den LED's jetzt eine 4x4 Matrix gebaut... ich hoffe ihr könnt mir da etwas auf die Sprünge helfen. Ich kann das gerne noch verbildlichen, allerdings sitze ich gerade noch in der Schule und habe da nicht so die großen Möglichkeiten, da die meisten Eagle-Projektdaten zuhause auf dem PC liegen.
skadush schrieb: > ich hätte aus den LED's jetzt eine 4x4 > Matrix gebaut... Ja, das ist gut so. Die Taster sind sicher auch eine Matrix, dann kann man beides verbinden, indem man z.B. jeweils eine Spalte LEDs und eine Spalte Taster zusammen nach VCC schaltet (4 I/O), dann braucht man noch 4 Pins für die LED Zeilen und 4 Pins für die Tasterabfrage. Georg
Moin, ja, ich hatte geplant, aus den LEDs und den Tastern jeweils eine Matrix zu bilden... bleibt nur noch die Frage mit den dauerhaft leuchtenden LED's, wenn man einen Taster und den Go-Taster drückt...gibt's dazu eine Idee?
Da ist ein Widerspruch: skadush schrieb: > Wenn ein Taster gedrückt wird und der "Go!"-Taster betätigt wird, soll > eine jeweilige LED über dem vorher gedrückten Taster dauerhaft > anspringen, Okay, also erst Taste x, dann Go!, dann leuchtet LED x. > Bei drücken eines anderen Tasters, soll die vorher leuchtende LED wieder > ausgehen und die LED des gedrückten Knopfes wieder angehen. Wie löst man > so etwas am besten? Also nun eine andere Taste y , LED x geht aus, LED y leuchtet nun. Was ist hier mit der Go-Taste? Braucht man sie hier nicht mehr zu drücken? Was ist, wenn ich: - Taste x drücke - Taste y drücke - Taste z drücke - Go!-Taste drücke Wann soll hier welche LED aus- und wann welche LED angehen? Wozu braucht man die Go!-Taste?
skadush schrieb: > bleibt nur noch die Frage mit den dauerhaft leuchtenden > LED's, wenn man einen Taster und den Go-Taster drückt Dann hast du das Konzept nicht verstanden. Jede LED wird unabhängig angesteuert, es liegt also allein an der Software, wann sie leuchtet und wann nicht. Du musst also die LEDs nur so programmieren wie du das möchtest. Dafür externe Hardware zu benutzen ist völlig unsinnig. Georg
Frank M. schrieb: > Was ist, wenn ich: > > - Taste x drücke > - Taste y drücke > - Taste z drücke > - Go!-Taste drücke > > Wann soll hier welche LED aus- und wann welche LED angehen? Wozu braucht > man die Go!-Taste? Die Go-Taste ist vom Pult vorgegeben. Über Pin 17 muss ein Spannungsimpuls anliegen, damit das Pult weiß "aha, ich soll den Befehl der mir vorher gegeben wurde, ausführen". Kann man leider nicht ändern. Also: Im Ausgangszustand, also direkt nach einschalten des Gerätes: Keine LED leuchtet Knopf x wird gedrückt, immernoch keine LED Go-Taster wird gedrückt, LED x leuchtet. Knopf y wird gedrückt, LED x leuchtet immernoch. Go-Taster wird gedrückt, LED x geht aus, LED y springt an. so verhält es sich wie mit allen anderen LED's. > Dann hast du das Konzept nicht verstanden. Jede LED wird unabhängig angesteuert, es liegt also allein an der Software, wann sie leuchtet und wann nicht. Du musst also die LEDs nur so programmieren wie du das möchtest. dazu würde ich gerne wissen, mit welchem Mikrocontroller man so etwas realisieren könnte bzw. wie ich z.B. mit einem atmega gleichzeitig die LED-Matrix einbinde sowie die 17 Taster... dort stehe ich gerade irgendwie auf dem trockenen.
skadush schrieb: > wie ich z.B. mit einem atmega gleichzeitig die > LED-Matrix einbinde sowie die 17 Taster Dann musst du wohl ganz von vorne anfangen, wie übrigens andere auch. Also lass mal eine LED leuchten, dann zwei, dann drei, und wenn du es geschafft hast, eine 4x4 LED Matrix anzusteuern, kannst du das mal beiseite legen und dich mit Tasten in einer Matrix beschäftigen und dann mit dem Entprellen. Dann musst du alles bloss noch kombinieren. Welcher Prozessor ist egal, solange er genügend I/O-Pins hat, in dem Fall 17. Leds und Tasten gemeinsam zu multiplexen schaffst du wohl nicht, muss auch nicht sein. Wenn dir das Multiplexen zuviel ist oder unverständlich, kannst du auch alles direkt ansteuern, dann brauchst du halt viel mehr I/O-Pins (33), Vorwiderstände usw. Georg
skadush schrieb: > wie ich z.B. mit einem atmega gleichzeitig die > LED-Matrix einbinde sowie die 17 Taster... dort stehe ich gerade > irgendwie auf dem trockenen. Es bietet sich an, sowohl Tasten als auch LED in eine Matrix zu machen, und zwar so, das sie eine Hälfte (4 Pins am MC) doppelt nutzen, wobei die Go Taste eine eigene Leitung bekommt. Wenn man das ganze richtig arrangiert, kann man Tasten und LED in zwei Bitfeldern mit dem gleichen Aufbau halten und LED Ausgabe und Tastenabfrage in einem einzigen Timerinterrupt erledigen. Die Ausgabe auf die 16 Datenleitungen würde ich entweder mit Schieberegister oder (wenn immer nur eine Leitung aktiv ist) mit einem 16-1 Multiplexer lösen.
:
Bearbeitet durch User
Hmmm, also es gibt zwei Varianten, einmal eine Matrix wirklich als solche mit Spalten und Zeilen anzuschliessen oder den ADC zu "mißbrauchen" indem verschiedene Widerlinge zu einem eindeutigen ADC Wert führt. Dann kontinuierlich den ADC laufen lassen (IRQ) und wenn dann der "Machwas" Knopf gedrückt wird (der einen extra PIN hat und nciht via ADC erkannt wird) den aktuellen ADC Wert interpretieren und die dazu passende LED samt Ausgabewert bedienen. Es gibt auch Taster mit intergrierter LED ...
Hallo, schau dir mal den AS1115 von ams an, der kann alles was du brauchst. mfg Franz
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.