ESP8266 - Capteur tactile - LED

Ce tutoriel vous explique comment utiliser l'ESP8266 et un capteur tactile pour contrôler une LED. Nous allons apprendre deux applications différentes :

Application 1 - L'état des LED est synchronisé avec l'état du capteur tactile. En détail :

Application 2 - L'état de la LED change à chaque fois que le capteur tactile est touché. Plus spécifiquement :

Préparation du matériel

1×ESP8266 NodeMCU
1×Câble USB Type-A vers Type-C (pour PC USB-A)
1×Câble USB Type-C vers Type-C (pour PC USB-C)
1×Capteur tactile
1×LED Kit
1×LED (red)
1×LED Module
1×220Ω Resistor
1×Plaque d'essai
1×Fils de connexion
1×Optionnel: 5V Power Adapter for ESP8266
1×Recommandé: Carte d'extension à bornier à vis pour ESP8266
1×Recommandé: Répartiteur d'alimentation pour ESP8266 Type-C

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
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.

Note d'achat: Pour simplifier le processus de câblage, nous recommandons d'utiliser le LED Module, qui est livré avec une résistance intégrée.

#À propos des LED et des capteurs tactiles

Si vous n'êtes pas familiarisé avec les LED et les capteurs tactiles (y compris le brochage, le fonctionnement et la programmation), les tutoriels suivants peuvent vous aider :

Diagramme de câblage

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

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

Pour plus d'informations, consultez Brochage ESP8266. et Comment alimenter l'ESP8266..

Application 1 - L'état du LED est synchronisé avec l'état du capteur tactile

Code ESP8266

/* * 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-led */ #define TOUCH_SENSOR_PIN D7 // The ESP8266 pin D7 connected to touch sensor's pin #define LED_PIN D1 // The ESP8266 pin D1 connected to LED's pin void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(TOUCH_SENSOR_PIN, INPUT); // Configure the ESP8266 pin to the input mode pinMode(LED_PIN, OUTPUT); // Configure the ESP8266 pin to the output mode } void loop() { int touch_state = digitalRead(TOUCH_SENSOR_PIN); // read new state if (touch_state == HIGH) { Serial.println("The sensor is being touched");; digitalWrite(LED_PIN, HIGH); // turn on } else if (touch_state == LOW) { Serial.println("The sensor is untouched"); digitalWrite(LED_PIN, LOW); // turn off } }

Étapes rapides

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

  • Consultez le tutoriel Installation du logiciel ESP8266. si c'est votre première utilisation de l'ESP8266.
  • Câblez les composants comme indiqué sur le schéma.
  • Connectez la carte ESP8266 à votre ordinateur via un câble USB.
  • Ouvrez l'Arduino IDE sur votre ordinateur.
  • Choisissez la bonne carte ESP8266, telle que (par exemple, NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
  • Connectez un ESP8266 à votre ordinateur avec un câble USB.
  • Lancez l'Arduino IDE et sélectionnez la carte et le port corrects.
  • Copiez le code et ouvrez-le dans l'Arduino IDE.
  • Cliquez sur le bouton Upload de l'Arduino IDE pour compiler et téléverser le code sur l'ESP8266.
Téléversement de code Arduino IDE
  • Touchez le capteur tactile et maintenez-le pendant quelques secondes.
  • Observez le changement d'état de la LED.

Vous verrez que l'état de la LED est synchronisé avec l'état du capteur tactile.

Explication du code

Découvrez l'explication ligne par ligne contenue dans les commentaires du code source !

Application 2 - Le capteur tactile bascule la LED

Code ESP8266 - Capteur tactile bascule LED

/* * 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-led */ #define TOUCH_SENSOR_PIN D7 // The ESP8266 pin D7 connected to touch sensor's pin #define LED_PIN D1 // The ESP8266 pin D1 connected to LED's pin int led_state = LOW; // The current state of LED int prev_touch_state; // The previous state of touch sensor int touch_state; // The current state of touch sensor void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(TOUCH_SENSOR_PIN, INPUT); // Configure the ESP8266 pin to the input mode pinMode(LED_PIN, OUTPUT); // Configure the ESP8266 pin to the output mode touch_state = digitalRead(TOUCH_SENSOR_PIN); } void loop() { prev_touch_state = touch_state; // save the last state touch_state = digitalRead(TOUCH_SENSOR_PIN); // read new state if (prev_touch_state == LOW && touch_state == HIGH) { Serial.println("The sensor is touched"); // toggle state of LED led_state = !led_state; // control LED according to the toggled state digitalWrite(LED_PIN, led_state); } }

Explication du code

Vous pouvez trouver l'explication dans les lignes de commentaire du code ESP8266 ci-dessus.

Dans le code, l'expression led_state = !led_state est équivalente au code suivant :

if(led_state == LOW) led_state = HIGH; else led_state = LOW;

Étapes rapides

  • Copiez le code et ouvrez-le dans l'IDE Arduino.
  • Téléchargez le code sur l'ESP8266.
  • Touchez et relâchez le capteur tactile plusieurs fois.
  • Observez le changement d'état de la LED.

Vous verrez que l'état de la LED bascule à chaque fois que le capteur tactile est touché.

Vidéo

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