10x10 Tasten-Matrix-Tastatur auf Digital-Schaltung?

B

Bernhard Filipic

Guest
Hallo

für ein Bastelprojekt suche ich eine Möglichkeit eine 10x10
Matrix-Tastatur auf ein 8 Bit Signal umzusetzen.

Vorerst sollen nur LEDs angesteuert werden, ist das ohne Microcontroller
überhaupt möglich?

ich habe bisher nur eine Möglichkeit gefunden sowas selbst zu bauen,
aber eben mit zu wenig Tasten, und mit einer 4x3-Matrix.

bin für jegliche Tips dankbar.

greetz
Bernhard
 
On 12 Jul., 14:57, Bernhard Filipic <usenet0...@filipic.biz> wrote:
Hallo

für ein Bastelprojekt suche ich eine Möglichkeit eine 10x10
Matrix-Tastatur auf ein 8 Bit Signal umzusetzen.

Vorerst sollen nur LEDs angesteuert werden, ist das ohne Microcontroller
überhaupt möglich?

ich habe bisher nur eine Möglichkeit gefunden sowas selbst zu bauen,
aber eben mit zu wenig Tasten, und mit einer 4x3-Matrix.

Hallo Bernhard,

geht schon, z.B. so: die je 10 Zeilen und Spalten gehen über Pull-Ups
auf die Adress-Leitungen eines EPROMS und darin sind dann die
passenden Binär-Codes abgelegt (muss man halt mit einem HEX-Editor
selbst einhacken). Die Zeilen stellen dabei die unteren 4 Bit und die
Spalten die oberen 4 Bit dar (oder umgekehrt). N-Key-Roll-Over oder
Ausblendung von Doppeltastendrücken ist alles kein Problem, nur eine
Frage der Auslegung des EPROM-Inhaltes.

Wenn nur LEDs angesteuert werden sollen, genügt anschließend ein
ULN2803 und fertig ist das Spielzeug. Will man damit mehr machen, kann
man z.B. noch ein Strobe-Signal erzeugen, um eine Entprell-Schaltung
anzusteuern und mit dieser dann die Binärdaten abspeichern usw. So
habe wir vor 25 Jahren Großtastaturen in der Kraftwerksleittechnik
gebaut (natürlich mit Potentialtrennung, Schlüsselschaltern und
Sicherheitssbfragen, aber im Prinzip genau so).

Gruß,

Helmut
 
"Bernhard Filipic" <usenet0607@filipic.biz> schrieb im Newsbeitrag
news:63d53$4696253b$3e6396db$27196@news.inode.at...
für ein Bastelprojekt suche ich eine Möglichkeit eine 10x10 Matrix-Tastatur
auf ein 8 Bit Signal umzusetzen.
Vorerst sollen nur LEDs angesteuert werden, ist das ohne Microcontroller
überhaupt möglich?
ich habe bisher nur eine Möglichkeit gefunden sowas selbst zu bauen, aber eben
mit zu wenig Tasten, und mit einer 4x3-Matrix.
Alte parallele Computertastatur ? 100 Tasten waeren 7 bit und
ein 'gedrueckt' Signal, wenn nicht 2 zugleich gedrueckt werden
koennen. Schaltungen in ALTEN Computerbuechern, oder einfach
asu einer 4 x 4 Matrix extrapolieren, z.B.
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en011019
Warum hast du damit Probleme ?
--
Manfred Winterhoff, reply-to invalid, use mawin at gmx dot net
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
 
Hallo Bernhard,

geht schon, z.B. so: die je 10 Zeilen und Spalten gehen über Pull-Ups
auf die Adress-Leitungen eines EPROMS und darin sind dann die
passenden Binär-Codes abgelegt (muss man halt mit einem HEX-Editor
selbst einhacken). Die Zeilen stellen dabei die unteren 4 Bit und die
Spalten die oberen 4 Bit dar (oder umgekehrt). N-Key-Roll-Over oder
Ausblendung von Doppeltastendrücken ist alles kein Problem, nur eine
Frage der Auslegung des EPROM-Inhaltes.
Das verstehe ich nicht ganz. Wenn ich dann irgendeine Taste drücke,
verbinde ich lediglich eine Zeile und eine Spalte mitenander. Daraus
ergibt sich aber kein eindeutiges 20-Bit Binärsignal, das ich auf das
Eprom geben könnte. Außerdem müsste das dann 1 MByte groß sein.

Ich glaube nicht, dass das so einfach geht.

Eine Möglichkeit ohne Microcontroller wäre ein 4 Bit Binärzähler mit
einem Binär zu dual-Decoder, z.B. 2x 74HC138, mit dem die Spalten
angesteuert werden. Es wird dann jeweils eine Spalte nach 0V gezogen. An
den Zeilen hängen Pull-Ups. Wenn dann eine Taste gedrückt wird, geht ein
Zeilenbit auf Masse, wenn die richtige Spalte angesteuert wurde.

Der Binärzähler wird mit z.B. 1 Khz Takt angesteuert. Die 4 Bit gehen
auf die Adressleitungen eines Eproms. Die 10 Bit von den Spalten
ebenfalls. Im Eprom gibt es dann eine Tabelle, mit der Tastennummer
1-100. Das Bit 7 kann man dann als Strobe für ein Latch nehmen, so dass
nur dann, wenn eine Taste gedrückt wurde und wenn die dazugehörige
Spalte angesteuert wurde, der Ausgang des Eproms in das Latch
geschrieben wird. In allen ungültigen Speicherstellen steht eine 0, in
den gültigen die Tastennummer + 128, damit das Bit 7 als Strobe genutzt
werden kann.

Ich würde aber einen Microcontroller nehmen :)

Gruß

Stefan
 
Stefan Brröring wrote:

Wenn ich dann irgendeine Taste drücke,
verbinde ich lediglich eine Zeile und eine Spalte mitenander.
So ist es.

Daraus
ergibt sich aber kein eindeutiges 20-Bit Binärsignal
Bei geeigneter Außenbeschaltung und passendem EPROM-Inhalt ginge das
rein theoretisch sogar. Der Trick wäre: man benutzt den EPROM
gleichzeitig als Zeilentreiber für die Matrix, wobei dieser
Zeilentreiber sozusagen approximativ arbeitet. Sowas funktioniert
zuverlässig natürlich nur in einer Simulation, die auch das
(idealisierte) Zeitverhalten abbildet, mit ein bissel Glück vielleicht
sogar auch mit realen Bauelementen.

Aber der Teufel soll mich holen, falls ich jemals in Versuchung kommen
sollte, sowas real aufzubauen. Schließlich gibt es für ein paar Euro
AVRs mit genug IO-Pins, um solche Probleme mit einem Zehnzeiler als
Programm zu lösen.

Oder notfalls für insgesamt etwa dasselbe Geld ein paar CMOS-Käfer, die
dasselbe leisten, sogar mit weniger Stromverbrauch, dafür allerdings auf
mehr Platinenfläche.
 
Das verstehe ich nicht ganz. Wenn ich dann irgendeine Taste drücke,
verbinde ich lediglich eine Zeile und eine Spalte mitenander. Daraus
ergibt sich aber kein eindeutiges 20-Bit Binärsignal, das ich auf das
Eprom geben könnte. Außerdem müsste das dann 1 MByte groß sein.

Ich glaube nicht, dass das so einfach geht.
OK, das mit den Tasten war etwas schlampig (unvollständig)
beschrieben: man muss dafür sorgen, dass Zeile und Spalte getrennt auf
0V gezogen werden, entweder durch Tasten mit Doppelschließern oder
Einfachschließer mit Dioden entkoppelt. Auch bei der Verteilung der
Bits beruht meine Beschreibung auf einer 16x16 Matrix.

Vorteil dieser Schaltung ist die rein statische Betriebsart ohne Scan,
bei der ursprünglichen Anwendung waren Teil-Tastenfelder (Vorort-
Elektronik nicht zugelassen) mit bis zu mehreren 100m Kabellängen
angeschlossen, da war nichts zu machen mit dynamischer Abfrage. Als
EPROMs lassen sich ganz einfache 27C64/128/256 verwenden (für Zeile
und Spalte je eines), bei geschickter Auslegung könne beide den
gleichen Inhalt haben.

Gruß,

Helmut
 
OK, das mit den Tasten war etwas schlampig (unvollständig)
beschrieben: man muss dafür sorgen, dass Zeile und Spalte getrennt auf
0V gezogen werden, entweder durch Tasten mit Doppelschließern oder
Einfachschließer mit Dioden entkoppelt. Auch bei der Verteilung der
Bits beruht meine Beschreibung auf einer 16x16 Matrix.
D.h. die Tasten gehen nach GND und die Zeilen und Spalten per Pull-Up
nach VCC?

Das würde so gehen, mit jeweils 2 Dioden je Taster und das andere Ende
des Tasters geht nach GND. Nur, das läßt sich nicht mit einer "fertigen"
Tastaturmatrix realisieren, oder hab ich da noch was falsch verstanden?

Gruß

Stefan
 
Bei geeigneter Außenbeschaltung und passendem EPROM-Inhalt ginge das
rein theoretisch sogar. Der Trick wäre: man benutzt den EPROM
gleichzeitig als Zeilentreiber für die Matrix, wobei dieser
Zeilentreiber sozusagen approximativ arbeitet. Sowas funktioniert
zuverlässig natürlich nur in einer Simulation, die auch das
(idealisierte) Zeitverhalten abbildet, mit ein bissel Glück vielleicht
sogar auch mit realen Bauelementen.
Dazu benötige ich dann aber einen Taktgeber/Zähler, mit dem ich die
Zeilen durchadressiere und weitere EProms, weil die 8-Bit für eine 10x10
Matrix nicht ausreichen. Wenn ich 10 Bit für die Zeilenadressierung
verwende, und 7 Bit für das Ergebnis brauche, dann benötige ich 3
EProms. Oder drei Stück 74HC138 und 2 Eproms und noch einiges mehr...

Aber der Teufel soll mich holen, falls ich jemals in Versuchung kommen
sollte, sowas real aufzubauen. Schließlich gibt es für ein paar Euro
AVRs mit genug IO-Pins, um solche Probleme mit einem Zehnzeiler als
Programm zu lösen.
Das sehe ich genauso...
 
Alte parallele Computertastatur ? 100 Tasten waeren 7 bit und
ein 'gedrueckt' Signal, wenn nicht 2 zugleich gedrueckt werden
koennen. Schaltungen in ALTEN Computerbuechern, oder einfach
asu einer 4 x 4 Matrix extrapolieren, z.B.
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en011019
Warum hast du damit Probleme ?
mit PICs hab ich Probleme weil ich nicht gut Programmieren kann, und das
genannte Beispiel auf einem PIC aufbaut, der 16 I/O Pins hat, ich aber
für mein Vorhaben 27 I/O Pins benötigen würde.

das 2te Problem ist, das diese ALTEN Computerbücher vor der Zeit lagen,
in der ich mich mit Computern zu beschäftigen begann, und damit nicht in
meiner "Bücherei" zu finden sind ;-)


greetz
Bernhard
 
"Bernhard Filipic" <usenet0607@filipic.biz> schrieb im Newsbeitrag
news:adadb$4699dbd3$3e6396db$17350@news.inode.at...
mit PICs hab ich Probleme weil ich nicht gut Programmieren kann
das 2te Problem ist, das diese ALTEN Computerbücher vor der Zeit lagen, in der
ich mich mit Computern zu beschäftigen begann

Oje, also weder uC noch alte Chips (die kaum mehr erhaeltlich sind).
Bau einen Oszillator (z.B. einem Schmitt-Oszillator aus einem CD4093,
mit einigen kHz. Schliess daran einen 7-bit Binaerzaehler an, z.B.
CD4024. Die niederwertigen 4 bit gehen in einen Decoder der einen
von 16 Ausgaengen auf LOW legt, z.B. aus 2 x CD4052 und einem als
Inverter geschalteten NAND des 4093.
Zwischen deren 16 Ausgaengen und den 8 Eingaengen des naechsten Chips
kommt eine Matrix aus bis 128 Taster, die jeweils eine Diode in
Reihe haben, wenn mehr als eine Taste gleichzeitig gedrueckt werden
koennte. Kann nur eine Taste gedrueckt sein, darf die Diode entfallen.
Die hoeherwertigen 3 bit gehen in einer Multiplexer, der einen von
8 Eingaengen auf den Ausgang durchschaltet, z.B. auch CD4052.
So lange der Ausgang von diesem Chip auf LOW (=Taste gedrueckt),
liegt, soll der Taktgeber stoppen, das mache ich hier durch den zweiten
Eingang des NAND des Schitt Oszillators. An den 7 Zaehlerausgaengen
liegt dann beo /strobe = LOW die Nummer der gedrueckten Taste.

+5V +----------------------------------------------+ /strobe
| | +---------------------------------+ |
4k7 | |+-------------------------------+| |
| | ||+-----------------------------+|| |
+--+ |||+-----------+------|>o-+4093 ||| |
| ||||+--------+-)--------+ | ||| |
| |||||+------+)-)-------+| |GND ||| |
| ||||||+----+))-)------+|| | | ||| |
+--(-47k-+ ||||||| ||| | +----)))-)-+ ||| |
| | | +-------+ +--------+ +--------+ ||| |
| +-|\o-+--|CK 4024| | ABC INH| | ABC INH| ||| |
+----|/ +-------+ +--------+ +--------+ ||| |
100pF 4093 |||||||| |||||||| +---+ |
| =|ABC|-+ Y
GND Tastenmatrix =| |
=| |
=| |-+ INH
+---+ |
GND

So sieht das zusammengeschaltet aus.
--
Manfred Winterhoff, reply-to invalid, use mawin at gmx dot net
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
 
On Thu, 12 Jul 2007 14:57:55 +0200, Bernhard Filipic
<usenet0607@filipic.biz> wrote:
für ein Bastelprojekt suche ich eine Möglichkeit eine 10x10
Matrix-Tastatur auf ein 8 Bit Signal umzusetzen.
Dazu solltest Du noch sagen, welche Zuordnung es
sein darf, sprich Tasten durchgezählt oder z.B.
4 Bit x und 4 Bit y Koordinate der Matrix.

Vorerst sollen nur LEDs angesteuert werden, ist das ohne Microcontroller
überhaupt möglich?
Das ist sogar mit einem Relaisgrab möglich, oder
vielleicht hat hier ja noch jemand Drehwähler ;-)
Die Frage ist, ob es sinnvoll ist.

Der heute übliche Standardweg ist in der Tat ein kleiner
Microcontroller, ggf. mit Schieberegister oder Decoder
um zusätzliche Ports erweitert.

ich habe bisher nur eine Möglichkeit gefunden sowas selbst zu bauen,
aber eben mit zu wenig Tasten, und mit einer 4x3-Matrix.
Zähler hat MaWin hier schon gebracht, im Grunde geht
das auch mit einem großen Zähler und Schieberegistern,
die synchron dazu laufen, oder Kombinationen aus
beiden, es wird getaktet, bis eine eingelesene "1"
am Ausgang ankommt oder bis eine einmal eingespielte
"1" über den Schalter ein Stop-Signal auslöst.

Man könnte natürlich jetzt dafür ein FPGA hernehmen,
VHDL und Verilog sind aber auch Software ...


Aber ich hab' noch etwas ganz spezielles zu bieten,
Ollis Patentlösung ;-)

Aufwand: Ein paar Widerstände, eine Stromquelle
mit OpAmp, ein A/D Wandler.

Wenn schon altbacken, dann richtig und dann analog:

Du spendierst einfach jeder Zeile der Matrix in Reihe
einen Widerstand von Null bis 9 kOhm und jeder Spalte
einen Widerstand in Reihe von Null bis 90 kOhm.

Hinter den Widerständen hängst Du die Spalten alle
auf Masse und die Zeilen alle an einen Knoten.

Dieser wird mit einer _Stromquelle_ gespeist, Beispiele
z.B. mit OpAmps gibt es genügend.

Damit ergibt sich, je nachdem, welche Taste Du drückst,
infolge der entstehenden Serienschaltung eines
Zeilen- mit einem Spaltenwiderstand ein Gesamtwiderstand
von 0 bis 99 KOhm nach Masse, gemäß dem ohmschen
Gesetz fällt dann eine Spannung von U = R I ab, die man
einem A/D Wandler zuführen kann.
An dessen Ausgang steht der gewünschte Code,
ist keine Taste gedrückt, dann eben der Maximalwert.

Zu beachten: Die Widerstände sollten halbwegs genau
sein, denn eine Auflösung von 1 kOhm bei 100kOhm
Messbereich sind 1%. Du wirst also 1% Widerstände
selektieren oder 0,1% Widerstände hernehmen dürfen.
Der Tasten-Übergangswiderstand sollte nicht so groß
sein, dass er relevant wird, und bitte keine Dioden in
der Matrix.

Der Wandler muss hinreichend genau sein, 8 Bit heißt
noch lange nicht 8 Bit Genauigkeit, aber auch 10 Bit
parallel bekommt man nachgeworfen.

Und die Stromquelle sollte taugen, ist aber bei <<1% auch
nicht das Hexenwerk, mit Transistor eher nicht der Hit,
aber mit OpAmp absolut kein Problem.

Für ein Industrieprojekt täte ich das nicht so machen
(Zuverlässigkeit), aber für's Hobby sollte es ok sein.

Viel Spass beim Basteln :)

Gruß Oliver

--
Oliver Bartels + Erding, Germany + obartels@bartels.de
http://www.bartels.de + Phone: +49-8122-9729-0 Fax: -10
 
Oliver Bartels <spamtrap@bartels.de> wrote:


Für ein Industrieprojekt täte ich das nicht so machen
(Zuverlässigkeit), aber für's Hobby sollte es ok sein.
Das findet man aber oft bei Fernbedienungen fuer Walkmans/MP3
Player. Aber natuerlich haben die es einfach da normalerweise nur 4-5
Tasten.

Olaf
 
On Sun, 15 Jul 2007 13:39:12 +0200, Olaf Kaluza <olaf@criseis.ruhr.de>
wrote:

Oliver Bartels <spamtrap@bartels.de> wrote:


Für ein Industrieprojekt täte ich das nicht so machen
(Zuverlässigkeit), aber für's Hobby sollte es ok sein.

Das findet man aber oft bei Fernbedienungen fuer Walkmans/MP3
Player. Aber natuerlich haben die es einfach da normalerweise nur 4-5
Tasten.
Es geht dem OP um 100 Tasten, und was Meister Bartels da erzählt, ist
kaum sinnvoll - er kann mich ja verklagen, kostet nur 50000 Euro nach
der Bartels'schen Streitwertfestlegung, zu der es bei Oliver Bartels
noch nicht mal einen Gerichtsbeschluß braucht, sondern nur SEIN Wort.

Für 100 Tasten nimmt man einen 8255 oder so, kostet nix mehr. Mit
einem Port tut man die Spalten an die Matrix, mit dem anderen die
Zeilen. Braucht man mehr als 8 Spalten oder Zeilen, kann man auch
Decoder wie den 74138 einsetzen und den Port aufbohren.

Man kann auch gleich einen Mikrocontroller wie den 8032 einsetzen, der
ist sogar in vielen PC-Tastaturen am Werk.
 
invalid@invalid.invalid (Franz Ferdinand) wrote:

Es geht dem OP um 100 Tasten, und was Meister Bartels da erzählt, ist
kaum sinnvoll
Es ist zumindest sinnvoller, als das, was du vorschlägst.
Weniger Bauteile und es erfüllt die vom OP aufgestellte Forderung,
möglichst ohne Mikrocontroller und Software auszukommen.

er kann mich ja verklagen, kostet nur 50000 Euro nach
[...]
Soll das jetzt deine mangelnde Fähigkeit zum Lesen der Anforderungen
und dein eingerostetes Wissen über Controller überdecken?

Für 100 Tasten nimmt man einen 8255 oder so, kostet nix mehr.
Ja. Der kostet ungefähr genauso viel wie ein moderner Microcontroller,
der bereits von Haus aus genügend IO-Pins mitbringt.

Mit
einem Port tut man die Spalten an die Matrix, mit dem anderen die
Zeilen. Braucht man mehr als 8 Spalten oder Zeilen, kann man auch
Decoder wie den 74138 einsetzen und den Port aufbohren.
Und wer steuert den 8255 an, wenn nicht ein Microcontroller, den der
OP gerade nicht wollte?

Man kann auch gleich einen Mikrocontroller wie den 8032 einsetzen, der
Oh je. Warum nicht gleich einen 8080, der ist noch etwas antiquierter,
und braucht ungefähr genauso viele externe Bauelemente (Taktgenerator,
Adresslatch, Eprom, Adressdecoder, IO).

Nein, *wenn* schon Controller, wird man vielleicht doch besser zu
einem modernen Mikrocontroller greifen, der vom Oszillator über
Speicher bis IO alles bereits On-Chip hat. 2*10+8=28 parallele IOs
sind nun wirklich nicht die Welt, da gibts in fast jeder Familie was
Passendes. Ich würde wahrscheinlich zu einem ATMEGA16 greifen, die
Dinger programmieren sich recht angenehm und sind im DIL-Gehäuse
bastlerfreundlich.

ist sogar in vielen PC-Tastaturen am Werk.
Falsch geraten. Da waren traditionell mal 8048-Derivate im Einsatz.
Völlig andere Familie. Und wahrscheinlich inzwischen bei den meisten
Herstellern auch durch Moderneres ersetzt.


Und um auf die Fragestellung zurückzukommen:
Wie wäre es mit zwei Diodenmatrizen: Zeilen in positiver Logik für die
oberen vier Bit, Spalten in negativer Logik für die unteren vier Bit.
Wird eine Taste gedrückt, fliesst ein Strom von der Spaltenmatrix über
die Taste zur Zeilenmatrix und aktiviert die jeweils passenden Bits.
Eine Handvoll nachgeschaltete Transistoren bringen das Ganze auf
vernünftige Logikpegel.

Hergen
 
für ein Bastelprojekt suche ich eine Möglichkeit eine 10x10
Matrix-Tastatur auf ein 8 Bit Signal umzusetzen.

Vorerst sollen nur LEDs angesteuert werden, ist das ohne Microcontroller
überhaupt möglich?
Nachdem das ganze wohl doch etwas aufwändiger wird ohne Mikrocontroller
habe ich nun folgende Frage:

wäre es möglich folgendes Lernbespiel für einen PIC16F84:
http://www.sprut.de/electronic/pic/programm/tastatur2.htm

ohne grösseren Aufwand auf einen PIC16F874 oder PIC16F877A umzulegen?

worauf bis auf die beschriebene "Analog-Falle" musss ich achten?

Danke schon mal

greetz
Bernhard
 
"Oliver Bartels" schrieb:
Aber ich hab' noch etwas ganz spezielles zu bieten,
Ollis Patentlösung ;-)

Aufwand: Ein paar Widerstände, eine Stromquelle
mit OpAmp, ein A/D Wandler.

Wenn schon altbacken, dann richtig und dann analog:
Ähnliche, z.T. noch einfachere I/O Lösungen finden sich in

http://ww1.microchip.com/downloads/en/DeviceDoc/40040b.pdf

für die ganz kleinen 8-pin PICs, wo es vielleicht
auch wieder sinnvoll sein kann...


Für beliebige Controller: Ein Eingang, ein Ausgang, ein
Komparator und Zeitmessung an RC.

Komparator oder wenigstens OP hat man möglicherweise schon
auf seiner PCB, kost' auch nix! AD-Wandler muss man nicht
für sowas opfern, das wär ja Perlen vor die Tastatur
geworfen...
 
wäre es möglich folgendes Lernbespiel für einen PIC16F84:
http://www.sprut.de/electronic/pic/programm/tastatur2.htm

ohne grösseren Aufwand auf einen PIC16F874 oder PIC16F877A umzulegen?

worauf bis auf die beschriebene "Analog-Falle" musss ich achten?

Danke schon mal

greetz
Bernhard
Da gibt es sicher noch den ein oder anderen Punkt zu beachten. Einfach
mal ausprobieren.

Du benötigst einen Prozessor mit einer ausreichenden Anzahl von Ein- und
Ausgängen. Bei einer 10x10 Matrix und 7-Bit Ausgangssignal also
mindestens 10+10+7 = 27 Anschlüsse wenn keine zusätzlichen ICs verwendet
werden sollen. Das wären dann 4 Ports á 8 Bit.

Ich würde einen AtMega16 verwenden. Den gibt es in einem normalen 40-Pin
DIL Gehäuse und das ganze läßt sich dann auf eine Lochrasterplatine
aufbauen. Genausogut kann man aber auch Prozessoren aus der 8051er
Familie nehmen, z.B. 89F51. Kommt einfach drauf an, welche
Entwicklungswerkzeuge man hat oder kennt.


Gruß

Stefan DF9BI
 
"Oliver Bartels" schrieb:
Damit ergibt sich, je nachdem, welche Taste Du drückst,
infolge der entstehenden Serienschaltung eines
Zeilen- mit einem Spaltenwiderstand ein Gesamtwiderstand
von 0 bis 99 KOhm nach Masse, gemäß dem ohmschen [...]

Der Tasten-Übergangswiderstand sollte nicht so groß
sein, dass er relevant wird, und bitte keine Dioden in
der Matrix.

Für ein Industrieprojekt täte ich das nicht so machen
(Zuverlässigkeit), aber für's Hobby sollte es ok sein.
/Ironiemode on

Gerade für's Hobby ist diese Tastaturidee ideal denn einer-
seits haben Hobbyisten ja nie Geld und andererseits hat
diese Art von Tastatur ein ganz besonderes "feature", das
massiv Geld sparen hilft:

Man kann ganz einfach aus einer Tastatur locker zwei
oder drei machen!

Anleitung: Wenn alles fertig aufgebaut ist, löte man
mindestens die Hälfte der Tasten einfach wieder aus,
vorzugsweise die Tasten von 1..50, also die mit der
kleineren Widerstandssumme in aufsteigender Folge...

Anschliessend findet man noch schnell raus, wie man die
Zahlencodes/Spannungswerte der weggelassenen Tasten durch
gleichzeitiges drücken zweier oder auch mehrerer bis aller
der verbliebenen Tasten aufruft, trainiert dann noch
schnell seine 10-Finger-Schreibfertigkeit auf gewünschte
Anschläge/min um und schon geniesst man ein Schreibgefühl,
das nicht jeder auf dieser Welt so einfach haben kann!

Lustige Überraschungen, die den sonst so tristen Hobbyalltag
erhellen auch noch inbegriffen... nämlich dann, wenn mal un-
beabsichtigt zwei Tasten gleichzeitig gedrückt werden.

/Ironiemode off

Räumlich oder zeitlich überlappend. Das Letztere passiert mir
regelmässig beim (Zehnfingerschnell)-schreiben hier am PehZeh.
Aber der PC bzw. die Tastatur macht's (bei räumlicher
Überlappung natürlich bis auf die Sache mit der Reihenfolge)
richtig.

Mit Controller soger gänzlich ohne Dioden.


P.S.: Die einfacheren Schaltungsideen von mictosoft, die ich
hier im Fred schon mal genannt/gelinkt hatte, sind diesbezüglich
'robuster'.
Wenn die Erkennung über die Zeit gemacht wird (also RC) kann
man einerseits schonmal prinzipiell Präzision gegen Zeit tauschen,
andererseits mit Software noch allerhand Fehlererkennung
reinfrickeln (hinreichend aber nicht zu enge Zeitfenster um
das vorausberechnete (tau + systematischen Fehlereinflusse) herum).

Wenn aber schon die Tastaturmatrix ggf. Müll rausgibt, ein
Informationsverlust also schon eingetreten ist, kann die
Software (mangels Info) auch nix mehr machen!
 
"Ruediger Klenner" schrieb:
P.S.: Die einfacheren Schaltungsideen von mictosoft, die ich
peinlich! microchip natürlich.

Ingrid
 
On Fri, 20 Jul 2007 22:48:52 +0200, "Ruediger Klenner"
<Ruediger.Klenner@ruhr-uni-bochum.de> wrote:
Räumlich oder zeitlich überlappend. Das Letztere passiert mir
regelmässig beim (Zehnfingerschnell)-schreiben hier am PehZeh.
Apropos drehen: Poti als Tastenersatz ;-)

Mit Controller soger gänzlich ohne Dioden.
Gell bidde, den wollte der OP doch nicht ;-)

Außerdem läßt sich die Wandler-Lösung als SAR-
Wandler ggf. auch standesgemäß mit Elektronenröhren
oder Schrittschaltwerken aufbauen (bei Relais würde
ich hingegen die Diodenmatrix bevorzugen, die
sollte ja auch mit Selengleichrichtern noch tun ;-)

Ansonsten sind wir uns hoffentlich einig, wie man das
heutzutage (per uC) vernünftig realisiert ...

Gruß Oliver

--
Oliver Bartels + Erding, Germany + obartels@bartels.de
http://www.bartels.de + Phone: +49-8122-9729-0 Fax: -10
 

Welcome to EDABoard.com

Sponsor

Back
Top