Moin, bin gerade dabei eine 4x3 Taster Matrix zu realisieren. Diese soll durch verschiedene Spannungen über einen AD-Wandler funzen. Den Schaltplan hab ich mal angehängt. Nun zu meinem Problem. Was passiert wenn ich zwei Taster gleichzeitig drücke? Dann müssten sich doch die Spannungen addieren und es gibt nen falschen Wert. Ist das so? Wenn ja, wie kann ich das beheben?
>Nun zu meinem Problem. Was passiert wenn ich zwei Taster gleichzeitig >drücke? Du solltest dir das Ding auf Papier aufmalen und dann solche Problemfälle "durchspielen". Dann weisst du, was passiert...
Gut, hab ich verstanden. Hab mir gerade mal den Schaltplan aufgezeichnet und ne kleine Testplatine gelötet. Aber nur mit 10 Tastern, mehr hatte ich nicht. Leider funktioniert es nicht. Sobald Taster 1 gedrückt wird, fällt die Spannung am Widerstand R4 auf 0V. Das kann doch irgendwie nicht sein. Der Schaltplan befindet sich im Anhang. Wäre supi wenn mir einer nen Tip geben könnte, was ich verkehrt gemacht habe.
Wieso machst du dir denn das Leben so schwer? Eine Matrixtastatur (auch mehrere Tasten) abfragen geht doch digital viel einfacher. Hab' dir das Beispiel (Appnote240) von Atmel drangehängt.
Hab' meine alte Abfrage und Ausgabe über USART gefunden, hier in C, vielleicht kann's jemand gebrauchen.
Hey Sonic, mit der Appnote würd ich es ja machen, hab nur nicht mehr genung Pins frei. Genauer gesagt nur noch den einen AD/Wandler..... Da wollte ich halt mal schauen, ob es auch anders geht. Da bin ich auf die Sache mit dem A/D wandler gestoßen. Keine schlechte Idee wie ich finde. Nur leider klappt das noch nicht......
Wenn Tastenmatrix dran ist, dann wahrscheinlich auch ein LCD-Display. Mehrfachverwendung von Pins: http://www.sprut.de/electronic/pic/programm/tastlcd/tastlcd.html
Wenn du Taste 1 drückst, bildest du einen Spannungsteiler ( R1 + R2 + R3 + R4 ) zu ( R5 + R6 + R7 ). Bei deinen Werten sind das 19,1k zu 2,8k und das sollte so um die 0.6 Volt ergeben.
Ne Überlegung: Wenn man die Widerstände nicht in Reihe schaltet, sondern jeder Spalte und Zeile jeweils einen Widerstand verpasst, die unterschiedliche Werte haben (1,2,4...) z.B. Spalten 1k, 2k, 4k (Ohm) gegen Vcc Zeilen 100, 200, 400 und 800 Ohm über 100Ohm an Masse. Am "zweiten Ende" des 100ohmers wird dann der ADC angeschlossen. Dadurch hätte man dann veränderliche Spannungsteiler. Müsste man ausprobieren (oder drüber diskuttieren)...
Übrigens hat die erste C-Control auch die Tasten über einen ADC-Pin ausgewertet. Das waren soweit ich mich erinnere nur acht Tasten, die Widerstände in einer Reihehschaltung gebrückt haben. Mit einer Matrix-Schaltung geht das vermutlich nicht bzw. nur so, wie ich es eben beschrieben habe.
Die Lösung steht mit Widerstandswerten und Berechnungen in "EDN magazine" 17.8.2006 , Artikel "Two-wire, four-by-four-key keyboard interface saves power". http://www.edn.com/contents/images/6360317.pdf
> Übrigens hat die erste C-Control auch die Tasten über einen ADC-Pin > ausgewertet. Das waren soweit ich mich erinnere nur acht Tasten, die > Widerstände in einer Reihehschaltung gebrückt haben. Der Asuro machts genauso. > Müsste man ausprobieren (oder drüber diskuttieren)... ... oder nachrechnen
Hey, hab den Fehler gefunden. Hab vergessen die Leiterbahn beim Kondensator zu unterbrechen. ;-) Daher gabs ne Verbindung zwischen ADC und GND. nun klappts super....
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.