ESP8266 - Potentiomètre Relais

Ce tutoriel vous explique comment utiliser l'ESP8266 et un potentiomètre pour contrôler un relais. En détail :

En attachant un relais à une ampoule, une bande LED, un moteur ou un actionneur, nous pouvons ensuite utiliser l'ESP8266 et le potentiomètre pour contrôler l'ampoule, la bande LED, le moteur ou l'actionneur.

Préparation du matériel

1×ESP8266 NodeMCU
1×Micro USB Cable
1×Potentiometer
1×Relay
1×Warning Light Bright Waterproof
1×12V Power Adapter
1×DC Power Jack
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 relais et du potentiomètre

Si vous n'êtes pas familier avec le relais et le potentiomètre (y compris le brochage, les fonctionnalités et la programmation), les tutoriels suivants peuvent vous aider :

Diagramme de câblage

Schéma de câblage du relais potentiomètre 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.

Code ESP8266 - Seuil Analogique

/* * 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-potentiometer-relay */ #define POTENTIOMETER_PIN A0 // The ESP8266 pin connected to Potentiometer pin #define RELAY_PIN D8 // The ESP8266 pin connected to Relay's pin #define ANALOG_THRESHOLD 1000 void setup() { pinMode(RELAY_PIN, OUTPUT); // Configure the ESP8266 pin to the output mode } void loop() { int analog_value = analogRead(POTENTIOMETER_PIN); // read the input on analog pin if (analog_value > ANALOG_THRESHOLD) digitalWrite(RELAY_PIN, HIGH); // turn on Relay else digitalWrite(RELAY_PIN, LOW); // turn off Relay }

É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 l'ESP8266.
  • Connectez les composants comme indiqué dans le diagramme.
  • Connectez la carte ESP8266 à votre ordinateur à l'aide d'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.
  • Connectez votre ESP8266 à l'ordinateur à l'aide d'un câble USB.
  • Lancez Arduino IDE, sélectionnez la carte et le port corrects.
  • Copiez le code ci-dessus et ouvrez-le dans Arduino IDE.
  • Cliquez sur le bouton Upload dans Arduino IDE pour compiler et téléverser le code vers l'ESP8266.
Téléversement de code Arduino IDE
  • Tournez le potentiomètre
  • Observez le changement d'état du relais

Explication du code

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

Code ESP8266 - Seuil de tension

La valeur analogique d'un potentiomètre est convertie en une valeur de tension. Cette tension est ensuite comparée à un seuil de tension, ce qui provoque le déclenchement du relais.

/* * 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-potentiometer-relay */ #define POTENTIOMETER_PIN A0 // The ESP8266 pin connected to Potentiometer pin #define RELAY_PIN D8 // The ESP8266 pin connected to Relay's pin #define VOLTAGE_THRESHOLD 2.5 // Voltages void setup() { pinMode(RELAY_PIN, OUTPUT); // Configure the ESP8266 pin to the output mode } void loop() { int analog_value = analogRead(POTENTIOMETER_PIN); // read the input on analog pin float voltage = floatMap(analog_value, 0, 1023, 0, 5); // Rescale to potentiometer's voltage if(voltage > VOLTAGE_THRESHOLD) digitalWrite(RELAY_PIN, HIGH); // turn on Relay else digitalWrite(RELAY_PIN, LOW); // turn off Relay } float floatMap(float x, float in_min, float in_max, float out_min, float out_max) { return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; }

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!