PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Matrix-(Folien)-Tastatur ("Genauigkeit"



Jaecko
23.05.2007, 09:58
Moin.
Von nem alten Telefon (Octophon) wollte ich das Gehäuse, also Nummernblock, Speichertasten, LCD + Status-LEDs "recyclen".
Ein AVR + Kleingemüse soll das ganze dann über RS232 mit anderen
Projekten/PCs verbinden können.

Die Tasten basieren auf einer Folientastatur; d.h. Leitfolie im Gehäuse,
Gummitaste mit Kontaktfläche schliesst jeweilige Kontakte kurz.

Für eine Multiplexer-Matrix (d.h. je ein Pin pro Zeile und Spalte) sind am AVR nicht genügend Pins vorhanden. Wären 8 Reihen, 5 Spalten also 13 Pins. Wird das ganze über eine Widerstandsmatrix aufgebaut, so genügt 1 ADC-Pin. Jede Taste liefert also über eine Spannungsteilermatrix eine andere Spannung. Rechnerisch würden die vorhandenen 30 Tasten auch gut verteilt werden, so dass es an sich keine Überschneidungen gibt....

Soweit die Theorie... In der Praxis siehts jedoch so aus, dass ich dort gerade mal 4-5 Tasten unterscheiden könnte, da der Kontakt-Widerstand der Tasten extrem abhängig vom ausgeübten Druck ist. Drück ich nur soweit drauf, dass die Taste versinkt, ist zwar ein Kontakt da, aber mit hohem Widerstand. Erhöh ich den Druck, sinkt der Widerstand auf Werte, mit denen man dann auch etwas anfangen könnte. Nur müsst ich dort dann jedes mal wirklich fest draufdrücken. Mal schnell ne Nummernfolge reinklopfen, wie man's von nem Telefon gewohnt wäre, klappt da dann nicht, da zu viele Fehlerkennungen vorkommen.


Gibts irgend ne Möglichkeit (Ausser nen "grösseren" AVR zu verwenden), das ganze doch noch irgendwie stabil zu kriegen?

MfG

Andun
23.05.2007, 10:07
Mh ... Dein Problem erinnert mich grade stark an mein eigenes: Ne Tastatur auslesen.

Du musst ja wohl von der Spannungsauslese Variante runter, da das nicht klappt. Dann bleibt wohl nur die Matrix so direkt auszulesen. Dafür such ich auch grade passendes Zubehör.

Siehe diesen Thread hier:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=30893

Vielleicht findest du ne Anregung die dir hilft.

Andun

Jaecko
23.05.2007, 10:40
Also die Idee mit dem PS/2-Controller aus ner Tastatur is garnicht mal so schlecht. Auslesen geht ja mit Bascom recht leicht.
Da wär dann sogar genug Platz für weitere Tasten.

Bleibt dann nur noch das Problem. dass das Programm durchlaufen soll; soweit ich den GETATKB-Befehl verstanden hab, wartet dieser einfach, bis eine Taste gedrückt wird. Das Programm soll aber ständig laufen; die Tastatur bei jedem Main-Loop-Durchlauf 1x abfragen; Ist was da, dann die Taste in eine Variable übernehmen; ist keine Taste gedrückt worden, soll die Variable Leer bzw. 0 sein.