- Qu'est-ce qu'un capteur tactile capacitif et comment fonctionne-t-il?
- Construction d'un capteur tactile capacitif à quatre voies
- Matériel requis pour le circuit contrôlé tactile ESP32
- Circuit de commande pour notre capteur tactile capacitif
- Conception de PCB pour le circuit de capteur tactile capacitif
- Code Arduino pour capteur tactile capacitif basé sur ESP32
- Test du circuit du capteur tactile basé sur ESP32
- Autres améliorations
Dans de nombreux cas, des capteurs tactiles sont utilisés à la place des boutons poussoirs. L'avantage est que nous n'avons pas besoin de forcer pour appuyer sur un bouton, et nous pouvons activer une touche sans la toucher à l'aide de capteurs tactiles. La technologie de détection tactile devient de jour en jour populaire. Et au cours de la dernière décennie environ, il est devenu difficile d'imaginer le monde sans électronique tactile. Des méthodes tactiles résistives et capacitives peuvent être utilisées pour développer un capteur tactile, et dans cet article, nous discuterons d'une manière grossière de fabriquer un capteur tactile capacitif avec ESP32, auparavant nous avons également construit un bouton tactile capacitif avec Raspberry pi.
Bien que les capteurs tactiles spécifiques à l'application puissent être un peu compliqués, le principe fondamental sous-jacent à cette technologie reste le même, donc dans cet article, nous nous concentrerons sur le développement de notre capteur tactile capacitif à l'aide de notre ESP32 préféré et d'un morceau de cuivre- planche vêtue.
Dans le didacticiel précédent, nous avons réalisé Control Home Lights avec Touch en utilisant le capteur tactile TTP223 et Arduino UNO.Dans ce projet, nous construisons un capteur tactile pour ESP32, mais le même peut être utilisé pour Arduino. En outre, nous avons précédemment utilisé des méthodes de saisie tactiles utilisant des pavés tactiles capacitifs avec différents microcontrôleurs tels que l'interfaçage du clavier tactile avec le microcontrôleur ATmega32 et le pavé tactile capacitif avec Raspberry Pi, vous pouvez également les vérifier si vous êtes intéressé.
Qu'est-ce qu'un capteur tactile capacitif et comment fonctionne-t-il?
Les condensateurs se présentent sous de nombreuses formes. Le plus courant se présente une fois sous la forme d'un boîtier plombé ou d'un boîtier à montage en surface mais pour former une capacité, nous avons besoin de conducteurs séparés par un matériau diélectrique. Ainsi, il est facile d'en créer un. Un bon exemple serait celui que nous allons développer dans l'exemple suivant.
Considérant le PCB gravé comme le matériau conducteur, l'autocollant agit comme un matériau diélectrique, donc maintenant la question demeure, comment le fait de toucher le plot de cuivre fait changer la capacité de telle manière que le contrôleur à capteur tactile est capable de détecter? Un doigt humain, bien sûr.
Eh bien, il y a principalement deux raisons: premièrement, l'une inclut les propriétés diélectriques de notre doigt, la seconde est due aux propriétés conductrices de notre doigt. Nous allons utiliser une touche capacitive. Nous allons donc nous concentrer sur le capteur tactile capacitif. Mais avant de discuter de tout cela, il est important de noter qu'il n'y a pas de conduction et que le doigt est isolé, à cause du papier utilisé dans l'autocollant. Ainsi, le doigt n'est pas capable de décharger le condensateur.
Doigt agissant comme diélectrique:
Il est de notoriété publique qu'un condensateur a une valeur constante qui peut être réalisée par la surface des deux plaques conductrices, la distance entre les plaques et sa constante diélectrique. Nous ne pouvons pas changer la zone du condensateur simplement en le touchant, mais nous pouvons certainement changer la constante diélectrique du condensateur car un doigt humain a une constante diélectrique différente de celle du matériau qui l'affiche. Dans notre cas, c'est de l'air, on déplace l'air avec nos doigts. Si vous demandez comment? C'est parce que la constante diélectrique de l'air 1006 à température ambiante au niveau de la mer et la constante diélectrique du doigt est beaucoup plus élevée autour de 80 car un doigt humain est principalement constitué d'eau. Ainsi, l'interaction du doigt avec le champ électrique du condensateur provoque une augmentation de la constante diélectrique d'où l'augmentation de la capacité.
Maintenant que nous avons compris le principe, passons à la fabrication de PCB réels.
Construction d'un capteur tactile capacitif à quatre voies
Le capteur tactile capacitif utilisé dans ce projet a quatre canaux, et il est facile à faire. Ci-dessous, nous avons mentionné le processus détaillé pour en créer un.
Tout d'abord, nous avons créé le circuit imprimé du capteur à l'aide de l' outil de conception Eagle PCB, qui ressemble à l'image ci-dessous.
Avec l'aide des dimensions et de Photoshop, nous avons réalisé le modèle et enfin l'autocollant du capteur, qui ressemble à l'image ci-dessous,
Maintenant, comme nous en avons terminé avec l'autocollant, nous passons à la création du modèle de carte plaquée que nous allons utiliser pour fabriquer notre PCB avec, qui ressemble à l'image ci-dessous,
Nous pouvons maintenant imprimer ce fichier et poursuivre les processus de fabrication d'un PCB maison. SI vous êtes nouveau, vous pouvez consulter l'article sur la construction de PCB à la maison. Vous pouvez également télécharger les fichiers PDF et Gerber requis à partir du lien ci-dessous
- Fichier GERBER pour capteur tactile capacitif à quatre canaux
Une fois terminé, le PCB gravé ressemble à l'image ci-dessous.
Il est maintenant temps de percer des trous, et nous connectons quelques fils avec le PCB. Pour que nous puissions le connecter avec la carte ESP32. Une fois cela fait, cela ressemble à l'image ci-dessous.
Comme nous n'avons pas mis de via dans le PCB, la soudure s'est répandue partout pendant le soudage, nous avons rectifié notre erreur en plaçant un trou de forage sur le PCB, que vous pouvez trouver dans la section de téléchargement ci-dessus. Enfin, il était temps de mettre l'autocollant et de le rendre définitif. Ce qui ressemble à l'image ci-dessous.
Maintenant que nous avons terminé avec le panneau tactile, il est temps de passer à la création du circuit de commande pour le panneau tactile.
Matériel requis pour le circuit contrôlé tactile ESP32
Les composants nécessaires pour construire la section contrôleur à l'aide d'ESP32 sont indiqués ci-dessous, vous devriez pouvoir en trouver la plupart dans le magasin de loisirs local.
J'ai également répertorié les composants dans le tableau ci-dessous avec le type et la quantité requis, puisque nous interférons un capteur tactile à quatre canaux et contrôlons quatre charges CA, nous utiliserons 4 relais pour commuter la charge CA et 4 transistors pour construire le relais circuits pilotes.
Sl.Non |
les pièces |
Type |
Quantité |
1 |
Relais |
Commutateur |
4 |
2 |
BD139 |
Transistor |
4 |
3 |
Borne à vis |
Borne à vis 5mmx2 |
4 |
4 |
1N4007 |
Diode |
5 |
5 |
0,1 uF |
Condensateur |
1 |
6 |
100 uF, 25 V |
Condensateur |
2 |
sept |
LM7805 |
Régulateur de tension |
1 |
8 |
1K |
Résistance |
4 |
9 |
560R |
Résistance |
4 |
dix |
LED orange |
LED |
4 |
11 |
En-tête masculin |
Connecteur |
4 |
12 |
En-tête féminin |
Connecteur |
30 |
13 |
LED rouge |
LED |
1 |
14 |
Carte de développement ESP32 V1 |
Carte ESP32 |
1 |
12 |
Conseil vêtu |
Générique 50x 50mm |
1 |
13 |
Fils de cavalier |
Fils |
4 |
14 |
Connexion des fils |
Fils |
5 |
Circuit de commande pour notre capteur tactile capacitif
L'image ci-dessous montre le schéma de circuit complet de notre capteur tactile basé sur ESP32.
Comme vous pouvez le voir, c'est un circuit très simple avec un minimum de composants requis.
Comme il s'agit d'un simple circuit de capteur tactile, il peut être utile dans les endroits où vous souhaitez interagir avec un appareil via le toucher, par exemple, au lieu d'utiliser un interrupteur typique monté sur carte, vous pouvez allumer / éteindre vos appareils avec le toucher.
Dans le schéma, un jack cylindrique CC est utilisé comme entrée où nous fournissons la puissance nécessaire requise pour alimenter le circuit, à partir de là, nous avons notre régulateur de tension 7805 qui convertit l'entrée CC non régulée en une constante 5V CC à travers laquelle nous fournissons l'alimentation du module ESP32.
Ensuite, dans le schéma, nous avons nos connecteurs tactiles sur les broches 25, 26, 27, 28, où nous allons connecter le pavé tactile.
Ensuite, nous avons nos relais qui sont commutés via un transistor BD139, la diode D2, D3, D4, D5 est là pour protéger le circuit de toute tension transitoire qui est générée lorsque le relais bascule, les diodes dans cette configuration sont connues sous le nom de diode de retour / diode de roue libre. Les résistances 560R à la base de chaque transistor sont utilisées pour limiter le flux de courant à travers la base.
Conception de PCB pour le circuit de capteur tactile capacitif
Le circuit imprimé de notre circuit de capteur tactile a été conçu pour une carte unilatérale. Nous avons utilisé Eagle pour concevoir mon PCB, mais vous pouvez utiliser n'importe quel logiciel de conception de votre choix. L'image 2D de la conception de notre carte est présentée ci-dessous.
Un diamètre de trace suffisant a été utilisé pour fabriquer les pistes d'alimentation, qui sont utilisées pour faire circuler le courant à travers le circuit imprimé. Nous avons placé la borne à vis en haut car il est beaucoup plus facile de connecter votre charge de cette façon, et le connecteur d'alimentation, qui est une prise cylindrique CC a été placé sur le côté, ce qui permet également un accès facile. Le fichier de conception complet pour Eagle avec le Gerber peut être téléchargé à partir du lien ci-dessous.
- Fichier GERBER pour le circuit de commande du capteur tactile basé sur ESP32
Maintenant que notre conception est prête, il est temps de graver et de souder la carte. Une fois le processus de gravure, de perçage et de soudage terminé, la carte ressemble à l'image ci-dessous,
Code Arduino pour capteur tactile capacitif basé sur ESP32
Pour ce projet, nous programmerons l'ESP32 avec un code personnalisé que nous décrirons sous peu. Le code est très simple et facile à utiliser, Nous commençons par définir toutes les broches nécessaires, dans notre cas, nous définissons les broches de nos capteurs tactiles et relais.
#define Relay_PIN_1 15 #define Relay_PIN_2 2 #define Relay_PIN_3 4 #define Relay_PIN_4 16 #define TOUCH_SENSOR_PIN_1 13 #define TOUCH_SENSOR_PIN_2 12 #define TOUCH_SENSOR_PIN_3 14 #define TOUCH_SENSOR_PIN_3 14 #define TOUCH_SENSOR_PIN_3 14 #define TOUCH_SENSOR_PIN_3 14
Ensuite, dans la section de configuration, nous commençons par initialiser l'UART pour le débogage, ensuite nous avons introduit un délai de 1S qui nous donne un peu de temps pour ouvrir une fenêtre Serial Monitor. Ensuite, nous utilisons la fonction pinMode d'Arduinos pour créer les broches de relais comme sortie, ce qui marque la fin de la section Setup () .
void setup () {Serial.begin (115200); retard (1000); pinMode (Relay_PIN_1, OUTPUT); pinMode (Relay_PIN_2, OUTPUT); pinMode (Relay_PIN_3, OUTPUT); pinMode (Relay_PIN_4, OUTPUT); }
Nous commençons notre section de boucle avec une instruction if , la fonction intégrée touchRead (pin_no) est utilisée pour déterminer si une broche a été touchée ou non. La fonction touchRead (pin_no) renvoie une plage de valeurs entières (0-100) , la valeur reste proche de 100 tout le temps, mais si nous touchons la broche sélectionnée, la valeur tombe à près de zéro, et avec l'aide de la valeur changeante, nous pouvons déterminer si la broche particulière a été touchée par un doigt ou non.
Dans l' instruction if , nous vérifions tout changement dans les valeurs entières, et si la valeur atteint moins de 28, nous pouvons être sûrs que nous avons reconnu une touche. Une fois que l' instruction if devient vraie, nous attendons 50ms et vérifions à nouveau le paramètre, cela nous aidera à déterminer si la valeur du capteur a été déclenchée faussement, après cela, nous inversons l'état de la broche en utilisant le digitalWrite (Relay_PIN_1,! (Relay_PIN_1)) , et le reste du code reste le même.
if (touchRead (TOUCH_SENSOR_PIN_1) <28) {if (touchRead (TOUCH_SENSOR_PIN_1) <28) {Serial.println ("Le capteur 1 est touché"); digitalWrite (Relay_PIN_1,! digitalRead (Relay_PIN_1)); }} else if (touchRead (TOUCH_SENSOR_PIN_2) <28) {if (touchRead (TOUCH_SENSOR_PIN_2) <28) {Serial.println ("Sensor Two is touched"); digitalWrite (Relay_PIN_2,! digitalRead (Relay_PIN_2)); }} else if (touchRead (TOUCH_SENSOR_PIN_3) <28) {if (touchRead (TOUCH_SENSOR_PIN_3) <28) {Serial.println ("Le capteur trois est touché"); digitalWrite (Relay_PIN_3,! digitalRead (Relay_PIN_3)); }} else if (touchRead (TOUCH_SENSOR_PIN_4) <28) {if (touchRead (TOUCH_SENSOR_PIN_4) <28) {Serial.println ("Le capteur quatre est touché"); digitalWrite (Relay_PIN_4,! digitalRead (Relay_PIN_4)); }}
Enfin, nous terminons notre code avec 200 ms supplémentaires de délai de blocage.
Test du circuit du capteur tactile basé sur ESP32
Comme il s'agit d'un projet très simple, l'ensemble de test est très simple, comme vous pouvez le voir, j'ai connecté 4 LED avec des résistances qui agissent comme des charges, car il est connecté au relais, vous pouvez facilement connecter n'importe quelle charge jusqu'à 3 ampères.
Autres améliorations
Bien que le PCB soit simple, il y a encore de la place pour des améliorations comme vous pouvez le voir depuis le dessous du PCB réel, j'ai connecté de nombreuses résistances pour tenter de connecter quatre LED d'indication, et la taille du PCB peut également être réduite si cela devient une exigence, J'espère que vous avez apprécié l'article et appris quelque chose d'utile. Si vous avez des questions, vous pouvez les laisser dans la section commentaires ci-dessous ou utiliser nos forums pour publier d'autres questions techniques.