banner
Nachrichtenzentrum
Die Treue unserer Kunden ist ein Beweis für die Qualität unserer Waren.

Verwandeln Sie mit diesem einfachen Code jeden Pico-Pin in einen kapazitiven Berührungssensor

Apr 11, 2023

Während andere Berührungserkennungstechnologien existieren, ist die kapazitive Berührungserkennung heute bei weitem die beliebteste. Ihr Smartphone verfügt über einen kapazitiven Touchscreen, Ihr Laptop über ein kapazitives Touchpad und viele Geräte verwenden kapazitive Tasten anstelle herkömmlicher mechanischer Tasten. Wenn Sie jemals darüber nachgedacht haben, einem Ihrer Projekte kapazitive Touchfunktionen hinzuzufügen, dann haben Sie wahrscheinlich Hardware gesehen, die für diesen Zweck entwickelt wurde. Möglicherweise benötigen Sie jedoch überhaupt keine spezielle Hardware. Wenn Sie ein Raspberry Pi Pico-Entwicklungsboard verwenden, können Sie mit dem einfachen Code von James Brown jeden Pin in einen kapazitiven Berührungssensor verwandeln.

Wie der Name schon sagt, basiert ein kapazitiver Berührungssensor auf der Kapazität. Damit ist die Fähigkeit eines Systems gemeint, elektrische Ladung zu speichern, etwa in einem Kondensator. Einfachere Schaltkreise weisen jedoch eine geringe Kapazität auf, die sich je nach Nähe leitfähiger Objekte wie Finger ändert. Möglicherweise ist Ihnen aufgefallen, dass manche Touchscreens eine Berührung registrieren, noch bevor Ihr Finger sie berührt. Das liegt daran, dass ihre Empfindlichkeit hoch ist und bereits die Bewegung des Fingers in der Nähe eine erkennbare Kapazitätsänderung auslöst. Browns Code nutzt die integrierte Hardware des Raspberry Pi Pico, um dieselbe Funktion auszuführen, und funktioniert mit jedem GPIO-Pin.

Der Code setzt zunächst einen Pin auf einen Ausgang und zieht ihn auf Low. Dann wird derselbe Pin sofort auf einen Eingang geschaltet, bei dem der interne Pull-Up-Widerstand aktiv ist. Zwischen den beiden Ereignissen besteht ein winziger Zeitunterschied, der sich aufgrund der Beeinflussung der Kapazität durch einen Finger ändert. Der PIO (Programmable Input/Output) des Pico misst das Delta und der gesamte Vorgang wiederholt sich etwa 60 Mal pro Sekunde. Der Code gibt basierend auf dem Delta einen Wert zwischen 0 und 1 zurück, wobei 0 für keinen erkennbaren Unterschied zur Norm und 1 für einen sehr starken Unterschied steht. Benutzer können einen Schwellenwert auswählen, um eine Aktion auszulösen, die dem Berühren eines Stücks leitfähigen Materials entsprechen sollte, das mit diesem bestimmten GPIO-Pin verbunden ist.

Browns Code soll nur für kapazitive Tasten funktionieren und ist nicht für kapazitive 2D-Touchpads oder Touchscreens geeignet. Aber es dürfte für jeden, der einen Raspberry Pi Pico nutzt und seinem nächsten Projekt kapazitive Tasten hinzufügen möchte, sehr nützlich sein.