ESP32 S3 - Capteur tactile

Ce tutoriel vous explique comment utiliser l'ESP32 S3 avec un capteur tactile (aussi appelé interrupteur tactile ou bouton tactile). À la fin, vous serez capable de détecter des événements tactiles en temps réel et d'afficher l'état du capteur sur le Serial Monitor.

ESP32 S3 - Touch Sensor

Ce que vous allez construire :

  1. Un circuit connectant un capteur tactile à l'ESP32 S3
  2. Un code qui lit l'état du capteur tactile en utilisant digitalRead()
  3. Une sortie sur le Serial Monitor montrant les changements d'état LOW/HIGH
  4. Un détecteur de changement d'état qui se déclenche uniquement sur le front montant d'un événement tactile

À propos du capteur tactile

Un capteur tactile détecte la présence d'un doigt humain par détection capacitive, ce qui en fait une alternative intuitive aux boutons mécaniques. Quand il est touché, la broche SIGNAL du capteur produit un état HIGH ; quand il est relâché, elle revient à LOW. Ce comportement prévisible le rend simple à intégrer avec les broches d'entrée numérique de l'ESP32 S3.

Spécifications clés

Brochage du capteur tactile

Le capteur tactile a 3 broches :

  1. Broche GND : connectez cette broche à GND (0V)
  2. Broche VCC : connectez cette broche à VCC (5V ou 3,3V)
  3. Broche SIGNAL : c'est une broche de sortie — LOW quand NON touché, HIGH quand touché. Cette broche doit être connectée à la broche d'entrée de l'ESP32 S3.
Touch Sensor Pinout

Comment fonctionne le capteur tactile

  • L'état de la broche SIGNAL est LOW quand le capteur tactile n'est PAS touché
  • L'état de la broche SIGNAL est HIGH quand le capteur tactile est touché

ESP32 S3 - Capteur tactile

Nous pouvons connecter la broche SIGNAL du capteur tactile à une broche d'entrée de l'ESP32 S3 et utiliser le code ESP32 S3 pour lire l'état du capteur tactile.

Schéma de câblage entre le capteur tactile et l'ESP32 S3

Connectez le capteur tactile à l'ESP32 S3 en reliant le GND du capteur au GND de la carte, VCC au 3,3V, et la broche SIGNAL à une broche d'entrée GPIO comme GPIO8. Vérifiez bien toutes les connexions avant de mettre la carte sous tension pour éviter tout dommage.

Notes de sécurité

Connectez toujours le fil GND en premier et déconnectez-le en dernier lorsque vous travaillez sur le circuit. Assurez-vous que la tension VCC correspond à la tension d'entrée nominale du capteur tactile — la plupart des modules prennent en charge à la fois 3,3V et 5V, mais vérifiez la fiche technique avant de mettre sous tension.

ESP32 S3 Touch Sensor Wiring Diagram

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Comment programmer le capteur tactile

Programmer l'ESP32 S3 pour lire un capteur tactile implique deux étapes : configurer la broche GPIO en entrée puis interroger son état à l'intérieur de la boucle principale. Les extraits suivants montrent chaque étape individuellement avant que le croquis complet ne les assemble.

  • Initialise la broche de l'ESP32 S3 en mode entrée numérique en utilisant la fonction pinMode(). Par exemple, la broche GPIO8
pinMode(8, INPUT_PULLUP);
  • Lit l'état de la broche de l'ESP32 S3 en utilisant la fonction digitalRead().
int inputState = digitalRead(8);

Capteur tactile - Code ESP32 S3

Le code suivant lit l'état du capteur tactile et l'affiche sur le Serial Monitor. Il interroge en continu GPIO8 et produit un 0 quand le capteur n'est pas touché et un 1 quand il est touché, vous laissant observer les changements en temps réel.

/* * Ce code ESP32 S3 a été développé par newbiely.fr * Ce code ESP32 S3 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-s3/esp32-s3-touch-sensor */ /* * This ESP32-S3 code is created by esp32io.com * * This ESP32-S3 code is released in the public domain * * For more detail (instruction and wiring diagram), visit https://esp32io.com/tutorials/esp32-s3-touch-sensor */ #define SENSOR_PIN 8 // ESP32-S3 pin GPIO8 connected to the sensor's SIGNAL pin of touch sensor void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // initialize the ESP32's pin as aninput pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: int state = digitalRead(SENSOR_PIN); // print state to Serial Monitor Serial.println(state); }

Étapes rapides

  1. Nouveau sur ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
  2. Copiez le code ci-dessus et collez-le dans Arduino IDE.
  3. Compilez et téléversez le code sur la carte ESP32 S3 en cliquant sur le bouton Upload sur Arduino IDE.
  4. Touchez le capteur avec votre doigt puis relâchez.
  5. Voyez le résultat sur le Serial Monitor. Cela ressemble à ceci :
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
COM6 Autoscroll Show timestamp 2026-01-15 08:23:10.112 -> 0 2026-01-15 08:23:10.215 -> 0 2026-01-15 08:23:10.318 -> 0 2026-01-15 08:23:10.421 -> 1 2026-01-15 08:23:10.524 -> 1 2026-01-15 08:23:10.627 -> 1 2026-01-15 08:23:10.730 -> 1 2026-01-15 08:23:10.833 -> 0 2026-01-15 08:23:10.936 -> 0 2026-01-15 08:23:11.039 -> 0
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2
  1. Astuce pro : essayez de toucher la surface du capteur légèrement puis fermement — le capteur capacitif répond même à un contact de doigt léger, ce qui le rend idéal pour des interfaces sensibles au toucher.

Comment détecter le changement d'état de LOW à HIGH

Le code suivant détecte uniquement la transition de front montant — le moment où le capteur tactile passe de non touché à touché — afin que votre programme réagisse une fois par contact plutôt qu'en continu tant que le doigt reste sur la surface.

/* * Ce code ESP32 S3 a été développé par newbiely.fr * Ce code ESP32 S3 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-s3/esp32-s3-touch-sensor */ /* * This ESP32-S3 code is created by esp32io.com * * This ESP32-S3 code is released in the public domain * * For more detail (instruction and wiring diagram), visit https://esp32io.com/tutorials/esp32-s3-touch-sensor */ #define SENSOR_PIN 8 // ESP32-S3 pin GPIO8 connected to the sensor's SIGNAL pin of touch sensor // Variables will change: int lastState = LOW; // the previous state from the input pin int currentState; // the current reading from the input pin void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // initialize the ESP32's pin as aninput pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: currentState = digitalRead(SENSOR_PIN); if (lastState == LOW && currentState == HIGH) Serial.println("The sensor is touched"); // save the the last state lastState = currentState; }

Applications

Les capteurs tactiles sont largement utilisés dans l'électronique moderne partout où une interface élégante et sans bouton est souhaitée. Voici quelques cas d'usage pratiques :

  1. Contrôle de lampe intelligente : touchez la base d'une lampe pour l'allumer ou l'éteindre sans interrupteur physique.
  2. Panneau de sécurité tactile : utilisez une surface tactile dans le cadre d'un système de saisie de code PIN pour des serrures de porte.
  3. Affichage interactif : déclenchez des animations ou des transitions d'écran dans une borne ou une exposition de musée.
  4. Minuteur de cuisine : construisez un compte à rebours activé par le toucher qui évite l'usure mécanique dans les environnements humides.
  5. Clavier capacitif : chaînez plusieurs capteurs tactiles ensemble pour créer un dispositif de saisie personnalisé.

Vidéo

Regardez la vidéo pas à pas de ce projet ESP32 S3 ci-dessous.

Défis

Poussez vos compétences plus loin en étendant le projet de capteur tactile de base dans de nouvelles directions. Chaque défi ci-dessous s'appuie sur la base que vous avez déjà établie.

  1. Débutant : modifiez le code afin qu'une LED connectée à GPIO2 s'allume quand le capteur tactile est touché et s'éteigne quand il est relâché.
  2. Intermédiaire : utilisez le croquis de détection de changement d'état pour compter le nombre total de contacts et afficher le compte sur le Serial Monitor.
  3. Avancé : combinez deux capteurs tactiles afin que les toucher tous les deux simultanément déclenche un événement spécial, comme activer un buzzer pendant deux secondes.

Tutoriels connexes

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !