ESP8266 - Potentiomètre LED

Dans un tutoriel précédent, nous avons appris comment modifier la luminosité d'une LED en fonction de la valeur de sortie du potentiomètre.

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

Préparation du matériel

1×ESP8266 NodeMCU
1×Micro USB Cable
1×Potentiometer
1×LED
1×220 ohm resistor
1×Breadboard
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 des LED et des potentiomètres

Si vous n'êtes pas familier avec les LED et les potentiomètres (brochage, fonctionnalités, programmation...), les tutoriels suivants peuvent vous fournir plus d'informations :

Diagramme de câblage

Schéma de câblage du potentiomètre LED 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-led */ const int POTENTIOMETER_PIN = A0; // The ESP8266 pin connected to Potentiometer pin const int LED_PIN = D8; // The ESP8266 pin connected to LED's pin // The setup function runs once on reset or power-up void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // declare LED pin to be an output: pinMode(LED_PIN, OUTPUT); } // The loop function repeats indefinitely. void loop() { // reads the input on analog pin A0 (value between 0 and 1023) int analog_value = analogRead(POTENTIOMETER_PIN); // scales it to brightness (value between 0 and 255) int brightness = map(analog_value, 0, 1023, 0, 255); // sets the brightness LED that connects to pin 3 analogWrite(LED_PIN, brightness); // print out the value Serial.print("Analog: "); Serial.print(analog_value); Serial.print(", Brightness: "); Serial.println(brightness); delay(100); }

É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 la première fois que vous utilisez ESP8266.
  • Câblez les composants comme indiqué sur le schéma.
  • Connectez la carte ESP8266 à votre ordinateur à l'aide d'un câble USB.
  • Ouvrez l'Arduino IDE sur votre ordinateur.
  • Choisissez la bonne carte ESP8266, comme (par exemple NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
  • Branchez le câble USB sur votre ESP8266 et PC.
  • Lancez l'Arduino IDE, sélectionnez la carte et le port corrects.
  • Copiez le code et ouvrez-le dans l'Arduino IDE.
  • Cliquez sur le bouton Upload dans l'Arduino IDE pour compiler et téléverser le code sur votre ESP8266.
Téléversement de code Arduino IDE
  • Tournez le potentiomètre
  • Observez le changement d'état de la LED

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 transformée en une valeur de tension. Cette valeur de tension est ensuite comparée à un seuil de tension, ce qui déclenchera une 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-potentiometer-led */ #define POTENTIOMETER_PIN A0 // The ESP8266 pin connected to Potentiometer pin #define LED_PIN D8 // The ESP8266 pin connected to LED's pin #define VOLTAGE_THRESHOLD 2.5 // Voltages void setup() { pinMode(LED_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(LED_PIN, HIGH); // turn on LED else digitalWrite(LED_PIN, LOW); // turn off LED } 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!