Wie simuliert man programmgesteuert einen Klick auf eine kapazitätsempfindliche Taste?

Ich reiße eine SONY HT-XT1 auseinander, die kapazitive Tasten hat, um sie für ein Projekt in ein anderes Gehäuse zu stecken:

siehe hier
(Quelle: digitaltrends.com )

Ich habe es schon auseinandergenommen und bin jetzt auf ein Motherboard mit 3 Pads gestoßen. Berühren Sie das Pad und der Schalter wird umgelegt. Ich möchte diese Tasten mit einem Arduino steuern können, bin mir aber nicht sicher, wie ich genau vorgehen soll. Wenn Sie es mit etwas wie einem langen Draht oder einem Cherry-Switch-Terminal berühren, wird der Schalter umgelegt. Ich hätte lieber eine elektronische Möglichkeit, dies über eine mechanische Vorrichtung zu steuern. Ich habe noch nie mit kapazitiven Tasten gearbeitet, also habe ich keine Ahnung, wo ich anfangen soll. Irgendwelche Gedanken würden geschätzt, danke!

An einem Teil der Schaltung (nicht zu weit vom Schalter entfernt) wird die Schalteraktion in eine Form von Logiksignal (Spannungsschritt) umgewandelt. Das ist viel einfacher zu simulieren/hacken.
Dies könnte im SoC erfolgen, wo der Zugriff nicht möglich ist.

Antworten (3)

Es hängt von der internen Schaltung ab, aber was möglich sein könnte, ist ein Kurzschluss (zur Sicherheit mit einem Strombegrenzungswiderstand wie 300 Ω ) die beiden Anschlüsse des kapazitiven Schalters.

Ein Kurzschluss kann als unendlicher Kondensator angesehen werden, wodurch die Schaltung denken würde, dass jemand den Knopf gedrückt hat (Erhöhung der Kapazität).

Wenn das nicht funktioniert, können Sie mit einem analogen Schalter eine zusätzliche Kapazität parallel schalten, was die Kapazität ebenfalls erhöhen würde. Berührungssensoren haben eine sehr kleine Kapazität, daher sollten einige Picofarad ausreichen, um die Taste auszulösen.

Davon abgesehen kann das Herumspielen mit der Schaltung diese ziemlich schnell unterbrechen (es hängt wiederum von der Schaltung und dem für die Erkennung verwendeten Algorithmus ab) und die Taste immer gedrückt halten.

Unabhängig davon, mit welchem ​​​​Eingangsstift der Schalter verbunden ist, suchen Sie die Speicheradresse und schreiben Sie eine "1" darauf.

Wenn er beispielsweise mit PORT A verbunden ist und PORT A sich bei $1000 (Hex) befindet, dann lesen Sie den bei $1000 gespeicherten Wert ein, führen Sie eine ODER-Operation mit dieser Zahl und $01 durch und senden Sie diesen Wert anstelle von an Ihr Programm realer Wert von Port A.

Sie könnten auch einfach die Funktion aufrufen, die ausgeführt wird, wenn der Schalter gedrückt wird, anstatt den Schalter zu überprüfen oder den Interrupt aufzurufen, oder wie auch immer Sie auf den Schalter reagieren möchten.

Ich denke, OP versucht, sich mit einem unbekannten SoC zu verbinden, indem es diese Tastendrücke auslöst. Wenn der SoC modifiziert werden könnte, dann wäre dies nicht nötig.

Möglicherweise können Sie davonkommen, indem Sie jedes Pad mit einem Kondensator an einen io-Pin anschließen und dann die io-Pin-Richtung, den Eingang für losgelassen und den Ausgang für gedrückt umschalten. Dies sollte dasselbe tun wie ein CMOS-Schalter, ohne dass zusätzliche Teile benötigt werden.