Il est possible d'utiliser des plots de connexion résistifs comme vous le montrez, mais les plots capacitifs sont généralement meilleurs. Les plots résistifs laissent une connexion directe au circuit ouverte sur l'extérieur. Ils sont donc susceptibles d'être endommagés par les décharges électrostatiques et le bruit.
Les pads capacitifs sont une meilleure méthode, bien qu'ils nécessitent un peu plus de firmware pour détecter, au moins si vous voulez bien le faire. Notez que pour obtenir une immunité au bruit même rudimentaire, les pads résistifs nécessitent également un firmware. Connecter simplement deux pads à quelque chose de sensible, comme la porte d'un FET, est une mauvaise idée. Vous ne pourrez pas annuler le mode commun et les autres bruits ambiants.
Voici la disposition d'un petit tableau que j'ai fait récemment juste pour rechercher des boutons capacitifs:
Les coussinets sont de petits disques de 150 mils (3,8 mm) de diamètre et autrement entourés de terre sur la couche supérieure. Le microcontrôleur est un PIC 16LF1786. Elle et toutes les autres parties qui ne sont pas destinées à interagir directement avec l'utilisateur sont montées au bas de cette carte à deux couches.
Le PIC scanne continuellement les pads. Lorsqu'il détecte un changement dans le sens pressé / relâché d'un pad, il envoie un message sur le port série, met à jour les lumières en haut à droite et émet un bip sur une presse.
Pour les tests, je peux demander au PIC d'envoyer régulièrement ses valeurs internes pour la pression de chaque pad. Voici un tracé des cinq valeurs de sens brutes, en plus de l'état numérique global où quelque chose est pressé lorsque j'ai appuyé successivement sur chaque pad avec mon doigt:
Comme vous pouvez le voir, l'immunité au bruit est exceptionnelle. Même le signal le plus faible était bien supérieur à 300, tandis que le bruit était de ± 2 environ.
La trace magenta étiquetée «Pressé» montre le OU des états individuels des boutons pressés. Ses niveaux indiquent les seuils de presse et de libération. Il y a beaucoup de signal supplémentaire qui n'est pas utilisé dans ce cas. Ces seuils particuliers ont été modifiés pour pouvoir tolérer quelques couches de papier au-dessus des boutons.
Bien sûr, il y a une gestion intelligente des lignes de boutons et du traitement, même si je le dis moi-même, mais il est clair que les résultats sont réalisables avec un microcontrôleur assez modeste.
Je l'utilise dans un vrai produit où le même micro gère également un affichage de caractères. C'est un sous-système d'interface utilisateur de base que je prévois de réutiliser dans plusieurs futurs produits. Il s'interface avec le contrôleur système principal via un port série. Le contrôleur principal envoie des commandes pour écrire sur l'écran et reçoit des messages asynchrones chaque fois que l'état d'un bouton change.