PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 12 leitungen auf 4 reduzieren



core
18.07.2006, 14:17
Hi,

Ich hab mit der Suchfunktion leider nichts gefunden, vll weil das Problem ein bisschen schwierig auszudrücken ist.

Also, ich habe eine Tastatur (Conrad Artikel-Nr.: 195561 - LN).
Diese hat 12 taster und jeder davon ist einzeln rausgeführt.
Gibt es nun einen IC oder ähnliches der mir diese 12 leitungen auf 4 reduziert an denen die Signale in binärform ausgegeben werden?

Hier ein Beispiel:


Taste Code
0 0001
1 0010
2 0011
usw.


Vielen dank schonmal

Gruß Marcel

PicNick
18.07.2006, 14:25
Wenn von jedem Taster 2 Leitungen rauskommen, kannst du sie ja eh' auch eine 3x4 Matrix schalten, das ist immer noch weniger Gewurstel als ein 16/1 demultiplexer

Manf
18.07.2006, 14:38
Das mit dem geschalteten Spannungsteiler ist doch immer ganz nett.

https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=189849#189849

https://www.roboternetz.de/phpBB2/files/adc-tastatur_128.jpg

Eine Möglichkeit wäre sicher auch:
waagerecht
10k, 4k7, 2k2, 1k0
und senkrecht
4k7 3k9, 3k3, 2k7
Eine Last oder einen Teiler von 100k kann man noch dazunehmen.

core
18.07.2006, 14:54
Picnic, das mit der Matrix weis ich nicht genau wie du es meinst : /

Manf diene lösung is super, aber ich hab leider keinen A/D port mehr frei

PicNick
18.07.2006, 15:05
Das ist zwar ein PIC, aber du siehst, wie die Tasten geschaltet sind
http://www.sprut.de/electronic/pic/programm/tastatur2.htm

dwod
18.07.2006, 16:21
Hi,
wenn du viel Zeit hast, kannst du einen kleinen Atmel-AVR nehmen und den programmieren.
Oder du nimmst zwei 74/54 147 er, das sind decimal zu bcd dekoder.
Die Ausgänge der ICś müssen noch über Dioden oder Gatter mireinander verbunden werden.
Bei dieser Schaltung darf man allerdings nur immer einen Taster betätigen.

Babbage
18.07.2006, 16:33
Gehts nicht auch einfach nur mit Dioden?
Einfach an alle 4 Augänge einen Pudown hängen.
Dann jeden Taster mit 1-3 Dioden bestücken und die auf HI zu codierenden Leitungen damit gegen VCC ziehen.
Der Taster muß am anderen Anschluß gegen VCC geschaltet sein.
Kostet nach kurzem überschlagen 16 Dioden und 4 Widerstände.

Nagut, ist nicht so elegant, sollte aber gehen.

kalledom
18.07.2006, 17:16
Hallo,
es geht auch mit dem 74..148, ein 8 zu 3 Prioritätscodierer.
Da Du 14 Tasten hast, brauchst Du 2 kaskadiert (hintereinander).
Oder mit dem 45... (siehe Schaltplan).
Der HT600 entfällt vermutlich für Deine Anwendung.

Mit Dioden und PullUp geht das auch; was aber, wenn 2 oder mehr Tasten gleichzeitig betätigt werden, und wer meldet, wenn eine Taste gedrückt ist ?

PeterPan
18.07.2006, 17:46
Hallo,

wie Babbage schon sagt, es geht auch mit Dioden. Ich würde nur anders herum arbeiten. Also die Leitungen nach High ziehen und dann mit dem Schalter auf Low setzen.
Der Vorteil ist der das der Zustand "Keine Taste gedrückt" mit 1111 gekennzeichnet wird und die Null mit 0000.
Die Tasten * und # sind mit 1110 bzw mit 1101 codiert.
Die Schwellenspannung einer Siliziumdiode liegt um 0,7V. Der Eingang eines TTL-IC erkennt 0,8V noch als Low. Die Verwendung eines CMOS-IC ist noch sicherer. Hier liegt die obere Schwelle für Low bei 1,5V (Ubetr.=5V).
Aufwendiger ist eine solche Schaltung sicher nicht. Und bei Verwendung von Schottky-Dioden könnte man sogar auf das Treiber-IC verzichten.

core
18.07.2006, 19:25
Ach du lieber Himmel, irgendwie hab ich mir das einfacher vorgestellt!

Evtl mach ich doch lieber einen A/D Port frei, das ist wohl die einfachste Lösung.
Danke an alle für die Hilfe!!!