banner

Blog

Nov 08, 2023

Transformez n'importe quelle broche Pico en un capteur tactile capacitif avec ce code simple

Bien qu'il existe d'autres technologies de détection tactile, la détection tactile capacitive est de loin la plus populaire aujourd'hui. Votre smartphone utilise un écran tactile capacitif, votre ordinateur portable utilise un pavé tactile capacitif et de nombreux appareils utilisent des boutons capacitifs au lieu de boutons mécaniques conventionnels. Si vous avez déjà envisagé d'ajouter une touche capacitive à l'un de vos projets, vous avez probablement déjà vu du matériel conçu à cet effet. Mais vous n'aurez peut-être pas besoin de matériel spécial. Si vous utilisez une carte de développement Raspberry Pi Pico, vous pouvez utiliser le code simple de James Brown pour transformer n'importe quelle broche en un capteur tactile capacitif.

Comme son nom l'indique, un capteur tactile capacitif repose sur la capacité. Cela fait référence à la capacité d'un système à stocker une charge électrique, comme dans un condensateur. Mais les circuits plus simples présentent une infime quantité de capacité et cela change en fonction de la proximité d'objets conducteurs, tels que les doigts. Vous avez peut-être remarqué que certains écrans tactiles enregistrent une touche avant même que votre doigt n'entre en contact. En effet, leur sensibilité est élevée et le simple fait de déplacer votre doigt à proximité déclenche un changement détectable de capacité. Le code de Brown utilise le matériel intégré du Raspberry Pi Pico pour exécuter la même fonction et il fonctionne avec n'importe quelle broche GPIO.

Le code définit d'abord une broche sur une sortie et la tire vers le bas. Ensuite, il commute immédiatement la même broche sur une entrée avec la résistance pull-up interne active. Il y a un petit delta de temps entre les deux événements et cela change en fonction d'un doigt affectant la capacité. Le PIO (entrée/sortie programmable) du Pico mesure le delta et l'ensemble du processus se répète environ 60 fois par seconde. Le code renvoie une valeur entre 0 et 1 basée sur le delta, 0 étant aucune différence détectable par rapport à la norme et 1 étant une très forte différence. Les utilisateurs peuvent choisir un seuil pour déclencher une action, qui devrait correspondre à quelqu'un touchant un morceau de matériau conducteur connecté à cette broche GPIO particulière.

Le code de Brown est uniquement destiné à fonctionner pour les boutons capacitifs et ne convient pas aux tablettes tactiles capacitives 2D ou aux écrans tactiles. Mais cela devrait être très utile pour tous ceux qui utilisent un Raspberry Pi Pico et qui souhaitent ajouter des boutons capacitifs à leur prochain projet.

PARTAGER