Drei kaskadierte Parallel-In-Serial-Out a la 74HC165 und drei kaskadierte Serial-In-Parallel-Out a la 74HC595. Dazu brauchst du noch einen Taktgeber und ne Mimik, um die Latch-Clock-Signale zu erzeugen. Zwischen beiden Einheiten brauchst du drei Leitungen: Serial_Data, Serial_Clock und Latch_Clock.
Drei kaskadierte Parallel-In-Serial-Out a la 74HC165 und drei
kaskadierte Serial-In-Parallel-Out a la 74HC595. Dazu brauchst du noch
einen Taktgeber und ne Mimik, um die Latch-Clock-Signale zu erzeugen.
Zwischen beiden Einheiten brauchst du drei Leitungen: Serial_Data,
Serial_Clock und Latch_Clock.
Das ist mir schon bekannt, aber ohne µC?
Bin gespannt! :-)
Mit CMOS oder (LS-TTL) geht das schon, nur sind derartige IC-Gräber etwas aus der Mode gekommen.
So habe ich vor 30 Jahren gebastelt. Nur wenn man weder Programmieren, noch eine Logikschaltung erstellen kann, und eines von beidem eh lernen müßte, dann ist man mit Programmieren flexibler und hat vermutlich auch eine steilere Lernkurve.
Eine Logikschaltung aufzubauen dauert länger, als das Äquivalent mit Mikrocontroller und bei Logik gibt es noch ein paar mehr Fallen, in die man tappen kann.
Aber apropos Elektronik: wenn ich deine schwammige Beschreibung richtig interpretiere, dann soll man ein Mal auf einen Taster drücken und seine LED geht an und bleibt an auch wenn man den Taster wieder loslässt. Drückt man zum zweiten Mal auf den Taster geht sie wieder aus. Dafur braucht man Elektronik, und nach der fragst du nicht. Hast du die schon ? Wie wird sie gesteuert, wäre ja nicht ganz unwichtig.
Auch nicht ganz unwichtig ist die Frage, wie viele Taster gleichzeitig gedrückt werden und wie schnell. Wenn da 1000 mal pro Sekunde draufgehämmert wird taugt nicht jede Elektronik.
Also mit Mikrocontroller braucht man für deine 20 Taster und 20 LED genau 2 IC, einen an Senderseite und einen auf Empfängerseite, und nur ein paar passive Bauteile dazu, wie Widerstände und Kondensatoren.
Mit konventionellen IC braucht man alleine für 20 Toggle-Flip-Flops die die Zustände der LED speichern wohl schon 10 IC, dazu IC zur Entprellung der Taster. Der Aufwand, das ganze ohne uC zu machen, ist also GIGANTISCH höher.
Mit Spezial-IC aus alten Zeiten, z.B. Fernbedienungscontrollern wie SAA3007 und SAA3049 und vielleicht 3 74HC259 geht weniger Aufwand, aber man muss sich an die Einschränkungen der Teile anpassen.
Das ist mir schon bekannt, aber ohne µC?
Bin gespannt! :-)
Ist nicht spannend.
Ein Zähler bis 24,der beim erreichen der "24" einen ein Bitcycle langen Puls abgibt.
Der takt ist sofern im KHz Bereich unspektakulär mit 1/4 4093. Oder 1/6 40106 generiert.
Gibt's schon zig weitere Variationen, die Kernideen hat Johannes ja schon klar skizziert.
Danke allen!
Das sollte eine quick and dirty Schaltung sein, da nur einmal gebraucht.
Es hätte ja sein können, dass es - vielleicht noch aus alten Zeiten - irgend ein IC gibt, der einen Grossteil der Funktionalität erschlägt.
Vor zig Jahren gabs mal einen DTMF encoder / decoder, mit dem man zumindest schon mal 10 Tasten über eine einzelne (plus GND) Leitung übertragen konnte...
Dann muss halt ein µC aufs Brett, das geht auch...
Danke allen!
Das sollte eine quick and dirty Schaltung sein, da nur einmal gebraucht.
Es hätte ja sein können, dass es - vielleicht noch aus alten Zeiten -
irgend ein IC gibt, der einen Grossteil der Funktionalität erschlägt.
Na ja, so etwas in der Richtung gibt es tatsächlich. Das wird verwendet, um ein RGB-LCD-Display mit je 8 Bits für R, G und B plus HSYNC, VSYNC, DE und Pixel Clock an einen entfernten Controller anzuschließen, ohne ein dickes Kabel mit 30 Adern zu benötigen. Herausgekommen ist das hier:
Ich käme mit vier Leitungen und am LED-Tastenende nur mit Logik aus.
GND, VCC, Daten, Clock
Für die Tasten parallel in serial Out
Latch an ein retriggerbares Monoflop
Wenn der Takt länger als die Monozeit aussetzt wird parallel geladen. Serial Out geht über einen Widerstand an die Datenleitung.
Für die LEDs ein Serial in parallel out Schieberegister. Wenn die LEDs beim schieben nicht blitzen sollen, gleiche Mimik mit dem Monoflop.
Trick ist, nach einem Taktpuls den Treiber des Datenpins am Mikrocontroller abzuschalten (DDR = 0), den Pegel zu lesen (PIN/IDR), Treiber wieder an, Pegel in Ausgangsregister schreiben (PORT/ODR), nächster Taktpuls.
Nachdem ein Zyklus rum ist, den Takt für länger als die Monozeit ruhen lassen.
Besser geht sowas aber eher mit I2C-Portexpandern.
Taster wie in der Schreibtischlampe, mit Kugelschreibermechanik (oder wie nennt die?). Zwei Gruppen zu je 10 auf zwei 10-Bit-DACs. Zwei Signaladern 0 bis 5V. Am anderen Ende zwei 10-Bit-ADCs und an jedem Ausgangsbit eine LED.
Gelegentlich wurde sowas mit abgestuften Widerständen gemacht. Anhand denen wurden dann die Schalter betätigt. Leider ist die Auswerteschaltung nicht ganz einfach.
Danke für die Hinweise.
Das Teil von TI ist schon ziemlich overkill, hätte ja sein können, dass es da etwas einfacheres "pfannenfertig" gibt.
Mir scheint, vor 20, 30 Jahren gab es noch mehr solche Spezial-ICs, z.B. von Maxim - aber klar, heute macht man das natürlich besser mit einem Controller.
Jetzt aber: 20 normale Taster, dazu je 1 Widerstand, alle mit wohldefinierten unterschiedlichen Werten. Eine analoge Signalader plus GND. Am anderen Ende ein Spannungsteiler aus einem Widerstand hier und dem Taster-Widerstand am anderen Ende. Der geht auf einen ADC0802 (notfalls 0804), am parallelen Ausgang ein 1-aus-20 Dekoder (z.B. drei 74HC138), dahinter 20 Toggle-Flip-Flops.
Bonus: auf der Taster-Seite ist keine Stromversorgung nötig, nur 2 Adern, der ADC hat ein unglaublich ausführliches Datenblatt.
Nirgends, wie so vieles nicht, der TO ignoriert auch Rückfragen, typisches Trollverhalten, vergiss es dir über den Unsinn noch weiter Gedanken zu machen, lohnt nicht.