Le TTP223 est un bouton tactile capacitif : une pastille de quelques millimètres remplace le bouton mécanique. On pose le doigt, la sortie change d’état ; aucune pièce ne bouge, donc ni usure, ni rebond de contact, ni bruit de clic. C’est le composant que l’on retrouve dans les lampes à variateur tactile, les interphones et les panneaux de commande plats.
Sur ce module, la puce de détection et sa zone sensible tiennent sur une petite carte de la taille d’une carte mémoire, alimentée de 2,0 à 5,5 V. La sortie est un signal numérique propre, lu directement par une entrée d’Arduino, d’ESP32 ou de PIC : aucune interface, aucun condensateur de découplage, aucune résistance de tirage à ajouter.
À quoi sert un capteur tactile capacitif ?
- Remplacer un bouton poussoir — même fonction, mais sans mécanisme : la commande fonctionne encore après des centaines de milliers de contacts.
- Commander une lampe ou une bande de LED — la pastille se colle derrière un panneau ou une vitre, la façade reste lisse et sans perçage.
- Équiper un boîtier fermé — quelques millimètres de plastique, de verre ou de bois laissent passer la détection, ce qui dispense d’ouvrir la face avant.
- Sécuriser un accès — plusieurs pastilles câblées sur des entrées distinctes forment un code tactile que l’on peut changer dans le programme.
- Ajouter une touche à un montage existant — menu, remise à zéro, choix de mode, sans place pour un bouton mécanique.
- Piloter un robot ou un automate — une commande de démarrage ou d’arrêt accessible au doigt, sans contact électrique exposé à l’humidité.
Caractéristiques techniques
| Puce de détection | TTP223, une touche par circuit |
|---|---|
| Tension d’alimentation | 2,0 V à 5,5 V continu — compatible logique 3,3 V comme 5 V |
| Consommation | Quelques microampères au repos, la puce passe en mode actif seulement pendant la détection |
| Sortie | Numérique CMOS, un seul fil de signal |
| Niveaux de sortie | Niveau haut supérieur à 0,8 fois la tension d’alimentation, niveau bas inférieur à 0,3 fois cette tension |
| Temps de réponse | Environ 60 ms en mode rapide, environ 220 ms en mode basse consommation |
| Zones de touche | Une pastille ronde sérigraphiée sur la carte, côté opposé aux composants |
| Raccordement | 3 broches : alimentation, masse et sortie de signal, repérées sur la carte |
| Mise en route | Environ 0,5 s de stabilisation après la mise sous tension, pendant lesquelles la puce se calibre |
| Calibration | Automatique et continue : la puce réajuste son seuil toutes les quelques secondes au repos |
| Sensibilité | Un condensateur externe peut l’assouplir ou la durcir, ce qui n’est utile que pour une surface sensible très large |
| Dimensions du module | Environ 15 mm sur 11 mm selon les séries, trois broches traversantes |
Brochage et raccordement
Trois broches, et la plus grande partie du travail est faite. L’ordre est imprimé en clair sur la carte, à côté des pastilles : l’alimentation, la masse et la sortie de signal. Vérifiez cette sérigraphie avant de mettre sous tension : inverser l’alimentation et la masse sur un module nu n’est pas toujours récupérable, même si la plupart des cartes récentes portent une protection contre cette erreur.
| Alimentation | Vers une sortie 5 V de la carte Arduino, ou vers 3,3 V si le microcontrôleur fonctionne en 3,3 V |
|---|---|
| Masse | Vers GND, la masse commune du montage |
| Sortie de signal | Vers une entrée numérique, par exemple D2 sur un Uno |
La sortie est une vraie sortie logique : elle monte à la tension d’alimentation et peut donc alimenter directement l’entrée d’un microcontrôleur. Elle ne peut en revanche pas alimenter une charge. Pour une lampe en 230 V, un moteur ou une pompe, c’est un module relais qui fait le travail, et la pastille tactile ne fait que commander ce relais.
Les modes de fonctionnement
La puce TTP223 sait se comporter de quatre façons différentes, et le module offre la même souplesse au moyen de petits ponts de soudure. Deux réglages se combinent : la manière dont la sortie réagit à un contact, et le niveau logique qu’elle prend au repos.
| Direct, actif haut | Configuration d’origine : la sortie est au niveau bas au repos et passe au niveau haut tant que le doigt reste posé. C’est le mode du bouton poussoir classique. |
|---|---|
| Direct, actif bas | Le fonctionnement inverse : niveau haut au repos, niveau bas pendant le contact. Pratique quand le montage déclenche sur un niveau bas. |
| Bistable, état initial bas | Chaque contact inverse la sortie : une première touche l’active, la suivante la relâche. Le module devient un interrupteur, équivalent d’un bouton à bascule. |
| Bistable, état initial haut | Le même basculement, mais la sortie est active dès la mise sous tension. |
Le module est livré en mode direct actif haut, la configuration par défaut de la puce lorsque les deux ponts sont laissés ouverts. Pour changer de mode, il faut souder le petit pont correspondant sur les pastilles du module. Les repères imprimés varient selon les séries et certaines cartes n’ont qu’une seule pastille au lieu de deux. Dans ce cas, la méthode la plus rapide vaut mieux que la devinette : souder un pont, mettre le module sous tension, puis regarder la sortie dans le moniteur série. En trente secondes, la configuration réelle est établie, et il n’y a rien à mémoriser.
Mini-projet : un interrupteur tactile qui allume une LED
Le module reste en mode direct, et c’est le programme qui transforme le contact en bascule : chaque touche allume ou éteint la LED. Ce montage montre les deux choses que l’on demande toujours à un capteur tactile — détecter le front du contact, puis mémoriser un état dans le programme plutôt que dans le matériel.
Ce qu’il faut
| Le capteur | Le module tactile de cette page |
|---|---|
| La carte | Uno R3 + câble USB |
| Le voyant | LED 5mm Rouge |
| La protection de la LED | Résistance 1/4w 220 ohm |
| Le support | Plaque d’essai 400 points |
Aucun composant supplémentaire n’est nécessaire : le module contient déjà tout ce dont la puce a besoin. Les trois broches se raccordent par des fils de liaison, la pastille tactile restant dégagée pour le doigt.
Le câblage
| Module, alimentation | → Arduino 5V |
|---|---|
| Module, masse | → Arduino GND |
| Module, sortie | → Arduino D2 |
| LED, patte longue | → Arduino D8, en passant par la résistance 220 Ω |
| LED, patte courte | → Arduino GND |
La pastille de détection est la face opposée aux composants : c’est elle que le doigt doit atteindre. Pour un montage dans un boîtier, elle se colle contre la paroi intérieure et il n’y a plus qu’à toucher la paroi.
Le programme
À copier dans l’IDE Arduino, puis à téléverser sur la carte :
/*
* Interrupteur tactile TTP223 - allumage d'une LED
* Carte : Arduino Uno R3
* Montage : sortie du module sur D2, LED rouge sur D8 via 220 ohms
* Chaque contact sur la pastille inverse l'etat de la LED.
*
* Composants, brochage et fiche complete : www.marocproduits.com
*/
const byte PIN_TOUCHE = 2; // sortie du module TTP223
const byte PIN_LED = 8; // LED rouge, via une resistance de 220 ohms
bool etatLed = false; // etat memorise de la LED
int dernierEtat = 0; // niveau lu au tour precedent
void setup() {
// La sortie du module est deja une sortie logique : une entree simple suffit.
pinMode(PIN_TOUCHE, INPUT);
pinMode(PIN_LED, OUTPUT);
digitalWrite(PIN_LED, LOW);
Serial.begin(9600);
// La puce se calibre pendant environ 0,5 s apres la mise sous tension :
// on ne touche pas la pastille pendant ce temps.
delay(1000);
// On memorise le niveau de repos pour ne pas compter un faux contact.
dernierEtat = digitalRead(PIN_TOUCHE);
Serial.println("Pret : touchez la pastille.");
}
void loop() {
int etat = digitalRead(PIN_TOUCHE);
// On ne reagit qu'au changement de niveau : le front du contact.
if (etat != dernierEtat) {
delay(20); // le signal se stabilise
etat = digitalRead(PIN_TOUCHE);
if (etat == HIGH) { // mode direct actif haut
etatLed = !etatLed;
digitalWrite(PIN_LED, etatLed ? HIGH : LOW);
if (etatLed) {
Serial.println("LED allumee");
} else {
Serial.println("LED eteinte");
}
}
dernierEtat = etat;
}
}Comment ça marche
pinMode(PIN_TOUCHE, INPUT)suffit : le module fournit un niveau logique franc, il n’y a ni tirage interne à activer ni rebond mécanique à filtrer. C’est la différence de câblage avec un bouton poussoir, qui demande au contraire unINPUT_PULLUP.- La comparaison
etat != dernierEtatne retient que le passage d’un niveau à l’autre. Sans elle, un doigt posé une seconde déclencherait des dizaines de basculements, puisque le programme tourne des milliers de fois par seconde pendant le contact. - Le
delay(20)laisse le signal se stabiliser avant de le relire : la puce elle-même est propre, mais cette précaution coûte vingt millisecondes et supprime toute lecture douteuse. etatLedporte l’état du montage dans le programme. C’est cette variable, et non le module, qui rend le fonctionnement bistable — le matériel reste dans sa configuration d’origine.- Le moniteur série à 9600 bauds affiche chaque changement : utile pour vérifier d’un coup d’œil la polarité réellement produite par le module.
Pour aller plus loin
- Une charge en 230 V — remplacez la LED par un module 1 relais : la sortie tactile commande le relais, qui alimente la lampe sur un circuit séparé.
- Un retour sonore — un buzzer actif sur une autre sortie confirme le contact à l’oreille, ce qui est appréciable quand la pastille est derrière une paroi.
- Un affichage — un afficheur LCD 16×02 I2C affiche l’état du montage ou un compteur de contacts, sans passer par l’ordinateur.
- Un montage sur batterie — alimentez le module en 3,3 V depuis un Nano ou un module WiFi ESP8266 : la consommation de repos de la puce reste de l’ordre du microampère.
Variante : tamiser une LED au lieu de l’allumer
Avec une sortie qui accepte la modulation de largeur d’impulsion, le même programme devient un variateur : au lieu d’inverser un état, chaque contact fait progresser un niveau de luminosité de 0 à 255, par pas de 51, puis revient à zéro. Il suffit de choisir une broche compatible, de remplacer le digitalWrite par un analogWrite et de faire varier une variable de 0 à 255 au lieu du booléen d’état. La détection du contact ne change pas d’une ligne.
Deux pastilles câblées sur deux entrées distinctes donnent la version complète : une touche pour augmenter, l’autre pour diminuer, et la luminosité reste réglée. C’est la structure que l’on retrouve dans les lampes de bureau tactiles.
Variante : plusieurs touches sur une seule carte
Un module par pastille, une entrée par module : le programme se contente alors de répéter la même lecture avec un numéro de broche en paramètre, et chaque touche garde sa propre variable de temps. Pour une façade qui demande plusieurs commandes, cette solution revient souvent moins cher et prend moins de place que de percer plusieurs boutons.
Questions fréquentes
Faut-il une résistance ou un condensateur en plus ?
Non. Le module porte la puce, sa zone sensible et les composants associés. Le condensateur externe prévu par la puce ne sert qu’à assouplir la sensibilité pour une électrode sensible très large, ce qui n’a pas d’intérêt avec la petite pastille d’origine.
Peut-on le toucher à travers une vitre ou un plastique ?
Oui, c’est même son usage le plus courant. Une paroi de quelques millimètres laisse passer la détection : plastique, verre, bois, contreplaqué mince fonctionnent. Plus la paroi est épaisse, plus l’effet du doigt s’atténue ; l’essai avant montage définitif reste la seule mesure fiable.
La sortie ne réagit pas à la mise sous tension, est-ce normal ?
Oui. La puce se calibre pendant environ une demi-seconde après l’alimentation et refuse tout contact pendant ce temps ; elle réajuste ensuite son seuil régulièrement au repos, ce qui lui permet de compenser la chaleur, l’humidité ou un boîtier collé sur la pastille. Un doigt posé pendant la mise sous tension ou pendant une recalibration peut être pris pour un état de repos, et la touche semble alors morte jusqu’au prochain contact franc.
Fonctionne-t-il en 3,3 V ?
Oui, la plage va de 2,0 à 5,5 V. Il faut seulement alimenter le module avec la même tension que le microcontrôleur lorsque celui-ci fonctionne en 3,3 V : la sortie monte à la tension d’alimentation, et une sortie à 5 V attaquée sur une entrée d’ESP32 non tolérante au 5 V est à éviter.
Ça marche avec un doigt mouillé ou avec des gants ?
Un doigt humide fonctionne, un doigt très sec ou un gant isolant beaucoup moins : la détection repose sur la capacité apportée par le corps, et un gant épais l’interrompt. Une goutte d’eau posée sur la pastille peut, elle, être lue comme un contact permanent — c’est le point faible de toute commande capacitive, et il se règle par la mécanique, en gardant la zone à l’abri des projections.
Comment obtenir un interrupteur qui reste allumé ?
Sans rien modifier, avec le programme de cette page : l’état vit dans la variable etatLed. Si vous préférez que le module s’en charge tout seul, une petite soudure sur les pastilles de configuration le place en mode bistable. Comme les repères changent d’une série à l’autre, le plus sûr est de souder, mettre sous tension et observer la sortie : deux essais suffisent pour identifier la configuration obtenue.
Peut-il remplacer un bouton poussoir sur une entrée avec tirage interne ?
Il le remplace même plus simplement. Un bouton mécanique demande un tirage, puis un filtrage du rebond dans le programme. La sortie du module est déjà un niveau logique stable, sans rebond : une entrée numérique simple suffit, et la partie « anti-rebond » du programme disparaît.
À combiner avec
Si vous partez de zéro, le KIT Starter contient la carte Uno R3, la plaque d’essai, les fils, des résistances de 220 Ω et des LED : en y ajoutant ce module, vous avez exactement le montage de cette page.
Pour garder une commande mécanique en parallèle de la commande tactile, le lot de boutons poussoirs couvre le besoin. Pour une commande qui se tourne et se presse, le module encodeur rotatif remplace plusieurs touches par un seul composant. Et pour commuter une charge secteur depuis une commande tactile, le module 1 relais est le complément direct de ce module.








Avis
Il n’y a pas encore d’avis.