ESP32 - Capteur tactile

Ce tutoriel vous explique comment utiliser l'ESP32 avec le capteur tactile (également connu sous le nom d'interrupteur tactile ou bouton tactile).

Préparation du matériel

1×ESP-WROOM-32 Dev Module
1×USB Cable Type-C
1×Touch Sensor
1×Breadboard
1×Jumper Wires
1×(Optional) DC Power Jack
1×(Recommended) ESP32 Screw Terminal Adapter

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos du capteur tactile

Brochage du capteur tactile

Le capteur tactile possède 3 broches :

  • Broche GND : connectez cette broche à GND (0V)
  • Broche VCC : connectez cette broche à VCC (5V ou 3.3V)
  • Broche SIGNAL : c'est une broche de sortie : BASSE quand elle n'est PAS touchée, HAUTE quand elle est touchée. Cette broche doit être connectée à la broche d'entrée de l'ESP32.
Brochage du capteur tactile

Comment fonctionne un capteur tactile

  • L'état de la broche SIGNAL est BAS lorsque le capteur tactile n'est pas touché.
  • L'état de la broche SIGNAL est HAUT lorsque le capteur tactile est touché.

ESP32 - Capteur tactile

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

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

Schéma de câblage du capteur tactile ESP32

This image is created using Fritzing. Click to enlarge image

Si vous ne savez pas comment alimenter l'ESP32 et d'autres composants, vous pouvez trouver des conseils dans le tutoriel suivant : Comment alimenter l'ESP32.

Comment programmer un capteur tactile

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

Capteur tactile - Code ESP32

Le code ci-dessous lit l'état du capteur tactile et l'affiche sur le moniteur série.

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 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/esp32-touch-sensor */ #define SENSOR_PIN 18 // ESP32 pin GPIO18 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

  • Si c'est la première fois que vous utilisez ESP32, consultez comment configurer l'environnement pour ESP32 sur Arduino IDE.
  • Copiez le code ci-dessus et collez-le dans Arduino IDE.
  • Compilez et téléchargez le code sur la carte ESP32 en cliquant sur le bouton Upload dans Arduino IDE
  • Touchez le capteur avec votre doigt puis relâchez.
  • Consultez le résultat sur le moniteur série. Il ressemble à ce qui suit :
COM6
Send
0 0 0 1 1 1 1 1 1 0 0
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Comment détecter le changement d'état de BAS à HAUT

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 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/esp32-touch-sensor */ #define SENSOR_PIN 18 // ESP32 pin GPIO18 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; }

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!