Hi, ich habe gestern was gefunden, wie man mit einem ARDUINO über die analogen Eingänge mehrere berührungslose Tasten erstellen kann. Ich möchte nun gerne ein Keyboard mit vielen Tasten erbauen, ohne irgendwelche Spezialchips. Ich habe dabei an eine Matrix-Anordung gedacht. Die "kapazitiven Tasten" bestehen aus einem isolierten Leiter, der positiv geschaltet wird, so bald der aufgelegte Finger an den darüber befindlichen Punkten gemessen werden soll. Die "Kathoden" werden über einen 1 oder 10 Megohm-Widerstand kurzgeschlossen und werden durch den A/D-Wandler gemessen. So könnte man z.B. mit 8 Analog-Eingängen und 8 Anoden 64 Sensor-Tasten realisieren. Würde so was funktionieren? Was für eine Scan-Frequenz kann bei so etwas genutzt werden? Wenn es so einfach nicht funktioniert, mit was für Spezial-Chips kann man derart viele Sensor-Tasten recht flink abfragen? dank für Eure Tipps!
Nun, das verlinkte ist eine Keyboard-Matrix-Abfrage für mechanische Tastaturen. Ich möchte ja versuchen, kapazitive Sensor-Tastaturen maxtrixmäßig abzufragen.
Wie soll denn diese Tastatur genau funktionieren? Ich kenne kapazitive Tasten nur als Platine mit IC drauf.
Hartmut W. schrieb: > Ich möchte nun gerne ein Keyboard mit vielen Tasten erbauen Meinst du damit ein Musikinstrument? Ich frage, weil man bei Musikinstrumenten (z.B. Klavier) die Finger auf den Tasten ruhen lassen kann, ohne dass sie darauf reagieren. Außerdem reagieren Touch Sensoren oft schon wenige mm vor der Berührung, allerdings nicht immer gleich. Meiner Meinung nach braucht ein Klavier/Keyboard eine Erkennung der Anschlagsdynamik, um vernünftig zu funktionieren. Das wird mit einem kapazitiven Touch Sensor jedoch nicht realisierbar sein.
Hartmut W. schrieb: > Die "kapazitiven Tasten" bestehen aus einem isolierten Leiter, der > positiv geschaltet wird, so bald der aufgelegte Finger an den darüber > befindlichen Punkten gemessen werden soll. Man muss also vorher wissen, wann der Finger kommt. Irgendwie ist deine Funktionsbeschreibung nicht vollständig. Wo hast du das Funktionsprinzip her? Das alte Qtouch funktioniert doch anders? Kapazitive Sensortasten. Entweder alle einzeln oder eine Taste besteht in Wirklichkeit aus zwei Sensorflächen.
1 | ___ |
2 | | //| |
3 | | // | |
4 | |//__| |
Letzteres lässt sich wie eine Matrix anordnen. Mit deinen 8 normalen kapazitiven Sensortasten gibt's 4×4 als Matrix. mfg mf
:
Bearbeitet durch User
Das Ganze kommt daher: https://www.instructables.com/Touchless-Keypad-DIY-Capacitive-Proximity-Sensors-/ und daher https://playground.arduino.cc/Main/CapacitiveSensor/ Ja, ich möchte ein Musik-Keyboard erzeugen. Es gibt mittlerweile einige günstige Synths, die mit Touch-Keyboards arbeiten. Für viele Anwendungen kann auf die Anschlagsdynamik verzichtet werden. Ich hatte da grad schon die Idee, wie man so etwas als Matrix implementieren könnte. Es wird ja die Touch-Fläche mit einem hochohmigen Widerstand gegen Masse kurzgeschlossen. Mit einer Diode könnte man die Felder niedrigohmig kurzschließen, die gerade nicht abgefragt werden sollen.
:
Bearbeitet durch User
Hartmut W. schrieb: > Es gibt mittlerweile einige günstige Synths, die mit Touch-Keyboards > arbeiten. Ich denke, dass die ASICs verwenden, die direkt in der Lage sind, den Kram einzulesen. Aaber vielleicht gibt es da Patente, von denen man abkupfern kann. Hartmut W. schrieb: > Mit einer Diode könnte man die Felder niedrigohmig kurzschließen, die > gerade nicht abgefragt werden sollen. Die Diode hat, wenn sie sperrt, auch eine kleine Kapazität. Das würde sich aber nur auf die gerade eingelesene Taste auswirken. Blöderweise muss die gerade eingelesene Tastenkapazität auch wieder entladen werden, das wird tricky. Vielleicht lässt sich das mit Analogschaltern 4066 usw. lösen. Aber auch hier hat jeder Pin eines ICs ein paar pF Kapazität. Wegen Multiplex hängen immer mehrere an einem Touch-Eingang, auch wenn die Schalter nicht geschlossen sind. Dann wäre da noch die Frage nach Reaktionszeit. Die ganze Matrix muss innerhalb 10msec...20msec einmal gelesen werden. Dazu kommt noch die Latenzzeit der Klangerzeugung, 10msec...20msec ist realistisch. Damit bist du schon im Bereich des Musikalisch gerade noch so erträglichen. Über den Daumen sind 20msec noch ok, ab 50 grob unbrauchbar. Beispiel, 120bpm Viertelnote - "2 beats per second" - sind die Sechzehntelnoten bereits nur 125msec lang... mfg mf
:
Bearbeitet durch User
Achim M. schrieb: > Dann wäre da noch die Frage nach Reaktionszeit. Die ganze Matrix muss > innerhalb 10msec...20msec einmal gelesen werden. Zitat aus der Zeitschrift FOCUS 20/1999: "Bis zu 16 Stunden pro Tag trainiert mancher Musik-Maniac seine 39 Muskeln der Hand, die 27 Freiheitsgrade und somit mehrere Billionen Stellungen erlauben. Altenmüller hat gemessen, dass Musiker ihre Hände um das Zehnfache schneller und genauer einsetzen als gleichaltrige Normalbürger. Der Pianist Vladimir Horowitz drückte beim Trillern die Tasten bis zu dreizehnmal pro Sekunde abwechselnd mit Zeige- und Mittelfinger nieder. Maximale Ungenauigkeit im Rhythmus: drei Millisekunden."
Nun, mir geht es natürlich nicht um ein Keyboard für das Spielen von Werken von Bach oder Beethoven (auch wenn ich die durchaus mit Synthesizern erst kürzlich wiedrgegeben habe), sondern um ein Keyboard für die Unterstützung während des Sound-Designs... :) Was die Scanmöglichkeit angeht, so hatte ich an Metall-folien für die Tasten gedacht, die Matrixmäßig beschickt und gelsesen werden, und großflächige Metall-Folien darunter, die die inaktiven Tasten "ausblenden". Ob das geht, eine Ahnung, ich werde mal einen kleinen Test wagen, mit vier mal 4 Tasten oder so.
Ich habe nur Erfahrung mit QTouch, eine eigene Implementierung habe ich noch nicht probiert. QTouch in den neueren ATtinys ist super, das schaltet auch wirklich definiert erst bei Berührung, nicht irgendwo in der Luft. Es gibt dazu auch eine grafische Auswertung zum kalibrieren. Deswegen wäre wahrscheinlich mein Ansatz: ATtiny mit möglichst vielen QTouch Kanälen raus suchen und über I2C zusammen schalten. Soweit ich weiß gab es welche mit bis zu acht Kanälen. Schwierig wird es vielleicht wenn die Tasten nah beieinander liegen, dann müssen die Gruppen evtl. andere Frequenzen bekommen.
Es ginge vielleicht auch optisch. Ich hatte vor ein paar Jahren mal eine Industrie Anwendung in einem explosionsgeschützten Gehäuse mit einer 11mm dicken Glasplatte vor der Tastatur. Die "Tastatur" bestand aus zwei nebeneinanderliegende IR Emitter und einer Photodiode in der Mitte die vorne durch eine IR Filterplatte als "Taste" versteckt waren. Wenn man nun den Finger auf das "Tastenfeld" legt, wird die reflektierte IR Strahlung von der PD erfasst. Die IR wurde synchron getaktet ausgewertet. Die ganze Anordnung funktioniert sehr zuverlässig, wenn auch etwas aufwendig und teuer im Verhältnis. Versuche mit kapazitiven Methoden verliefen leider vollkommen erfolglos.
Ich benutze hier den CAP1203 durch einen transparenten Gehäusedeckel hindurch. Das funktioniert recht zuverlässig. Minimale Latenz ist bei mir allerdings auch nicht wichtig ... LG, Sebastian
H. Eggert schrieb: > Es ginge vielleicht auch optisch. Ich hatte vor ein paar Jahren > mal eine > Industrie Anwendung in einem explosionsgeschützten Gehäuse mit einer > 11mm dicken Glasplatte vor der Tastatur. Die "Tastatur" bestand aus zwei > nebeneinanderliegende IR Emitter und einer Photodiode in der Mitte die > vorne durch eine IR Filterplatte als "Taste" versteckt waren. Wenn man > nun den Finger auf das "Tastenfeld" legt, wird die reflektierte IR > Strahlung von der PD erfasst. Die IR wurde synchron getaktet > ausgewertet. Die ganze Anordnung funktioniert sehr zuverlässig, wenn > auch etwas aufwendig und teuer im Verhältnis. Versuche mit kapazitiven > Methoden verliefen leider vollkommen erfolglos. Ich habe mal Mitte der 80er-Jahre einen "PC" bei einem bekannten gesehen, er hatte einen HP-Buisiness-Rechner geschenkt gekriegt, der war in die Jahre gekommen. Das Teil hatte einen "Touch-Bildschirm", ehrlich. Und das mit einem DOS-Monochrom-Bildschirm. An den Rändern des Bildschirms waren LEDS (oder Laser) angebracht, mit entsprechenden Empfängern auf der Gegenseite, für X- und Y. Man konnte nun mit dem Finger auf ein Zeichen zeigen und so etwas bestätigen. Ich habe auch schon an was optisches gedacht bei der Tastatur, aber noch keine Idee, wie man was umsetzen könnte. Bzgl Qtouch, das muss ich mal recherchieren. Klingt interessant.
Hartmut W. schrieb: > Ich habe auch schon an was optisches gedacht bei der Tastatur, aber noch > keine Idee, wie man was umsetzen könnte. Vielleicht Reflexlichtschranken für jedes Testenfeld?
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.