ESP8266 - Capteur tactile

Ce tutoriel vous explique comment utiliser le capteur tactile capacitif avec l'ESP8266. En détail, nous apprendrons :

Préparation du matériel

1×ESP8266 NodeMCU
1×Micro USB Cable
1×Touch Sensor
1×Jumper Wires
1×(Optional) 5V Power Adapter for ESP8266
1×(Optional) ESP8266 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

Un capteur tactile capacitif, également connu sous le nom de bouton tactile ou interrupteur tactile, est couramment utilisé pour contrôler des appareils, comme une lampe tactile. Il a la même fonction qu'un bouton, mais est utilisé à la place d'un bouton sur de nombreux appareils modernes en raison de son apparence élégante.

Schéma de brochage du capteur tactile

Le capteur tactile a trois broches :

  • Broche GND : Elle doit être connectée à la tension de masse (0V).
  • Broche VCC : Elle doit être connectée à la tension VCC (5V ou 3,3V).
  • Broche SIGNAL : C'est une broche de sortie. Elle sera à l'état BAS quand elle n'est pas touchée et à l'état HAUT quand elle est touchée. Cette broche doit être connectée à une broche d'entrée de l'ESP8266.
Brochage du capteur tactile

Comment ça marche

  • Lorsque le capteur n'est pas sollicité, la broche SIGNAL du capteur est à un niveau BAS.
  • Cependant, lorsque le capteur est touché, la broche SIGNAL du capteur est à un niveau ÉLEVÉ.

ESP8266 - Capteur tactile

La broche SIGNAL du capteur tactile est connectée à une broche d'entrée d'un ESP8266. Nous pouvons déterminer si le capteur tactile a été touché en examinant l'état de la broche de l'ESP8266.

Diagramme de câblage

Schéma de câblage du capteur tactile ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Voir plus dans l'agencement des broches de l'ESP8266 et comment alimenter l'ESP8266 et d'autres composants.

Comment programmer pour un capteur tactile

  • Définissez la broche ESP8266 en mode entrée numérique en utilisant la fonction pinMode(). Par exemple :
pinMode(D7, INPUT);
  • Lisez l'état de la broche ESP8266 à travers la fonction digitalRead().
int inputState = digitalRead(D7);

※ NOTE THAT:

Il existe deux scénarios couramment utilisés :

  • Le premier : Si l'état d'entrée est HAUT, effectuer une action. Si l'état d'entrée est BAS, exécuter l'action opposée.
  • Le second : Si l'état d'entrée passe de BAS à HAUT (ou de HAUT à BAS), effectuer une action.

Nous en sélectionnons un en fonction de l'objectif de l'application. Par exemple, si nous voulons utiliser un capteur tactile pour contrôler une LED :

  • Si l'objectif est que la LED soit ALLUMÉE lorsque le capteur est touché et ÉTEINTE lorsque le capteur n'est PAS touché, nous DEVONS utiliser le premier scénario.
  • Si l'objectif est que la LED bascule entre ALLUMÉ et ÉTEINT à chaque fois que nous touchons le capteur, nous DEVONS utiliser le second scénario.

Capteur tactile - Code ESP8266

Le tutoriel fournit deux exemples de code :

  • L'ESP8266 lit la valeur du capteur tactile et l'affiche sur le moniteur série.
  • L'ESP8266 détecte si le capteur est touché ou relâché.

L'ESP8266 lit la valeur du capteur tactile et l'affiche sur le moniteur série.

/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU 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/esp8266/esp8266-touch-sensor */ #define SENSOR_PIN D7 // The ESP8266 NodeMCU input pin that connects to the sensor's SIGNAL pin void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the ESP8266 NodeMCU's pin as an input 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

Pour commencer avec l'ESP8266 sur Arduino IDE, suivez ces étapes :

  • Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est votre première utilisation de ESP8266.
  • Câblez les composants comme indiqué sur le schéma.
  • Connectez la carte ESP8266 à votre ordinateur via un câble USB.
  • Ouvrez Arduino IDE sur votre ordinateur.
  • Choisissez la bonne carte ESP8266, comme (par exemple, NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
  • Copiez le code et ouvrez-le dans l'Arduino IDE.
  • Cliquez sur le bouton Upload dans l'IDE pour transférer le code à l'ESP8266.
  • Placez votre doigt sur le capteur puis retirez-le.
  • Vérifiez la sortie dans le moniteur série.
COM6
Send
0 0 0 1 1 1 1 1 1 0 0
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

ESP8266 détecte si le capteur est touché ou relâché

/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU 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/esp8266/esp8266-touch-sensor */ #define SENSOR_PIN D7 // The ESP8266 NodeMCU input pin that connects to the sensor's SIGNAL pin int prev_state = LOW; // The previous state from the input pin int touch_state; // The current reading from the input pin void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the ESP8266 NodeMCU's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: touch_state = digitalRead(SENSOR_PIN); if(prev_state == LOW && touch_state == HIGH) Serial.println("The sensor is touched"); else if(prev_state == HIGH && touch_state == LOW) Serial.println("The sensor is released"); // save the the last state prev_state = touch_state; }

Étapes rapides

  • Copiez le code et ouvrez-le avec l'IDE Arduino.
  • Cliquez sur le bouton Upload de l'IDE Arduino pour compiler et téléverser le code vers l'ESP8266.
  • Gardez votre doigt sur le capteur.
  • Consultez le résultat sur le moniteur série.
COM6
Send
The sensor is touched
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Retirez votre doigt du capteur.
  • Vérifiez le moniteur série pour le résultat.
COM6
Send
The sensor is touched The sensor is released
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Vidéo

Références de fonction

※ 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!