ESP8266 - Estompage de LED par potentiomètre
Dans un tutoriel précédent, nous avons découvert comment un potentiomètre peut être utilisé pour activer une LED. Ce tutoriel vous explique comment utiliser l'ESP8266 pour ajuster la luminosité de la LED en fonction de la valeur de sortie du potentiomètre.
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 familiarisé avec les LED et les potentiomètres (y compris le brochage, le fonctionnement, la programmation, etc.), les tutoriels suivants peuvent vous aider :
Diagramme de câblage
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
- Obtient la valeur de la broche analogique A0, qui est comprise entre 0 et 1023.
int analog_value = analogRead(A0);
- Ajuste la luminosité à une valeur comprise entre 0 et 255.
int brightness = map(analog_value, 0, 1023, 0, 255);
- Définit la luminosité de la LED connectée à la broche 3.
analogWrite(LED_PIN, brightness);
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-potentiometer-fade-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 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 Arduino IDE sur votre ordinateur.
- Choisissez la bonne carte ESP8266, par exemple (ex. NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
- Copiez le code et ouvrez-le avec Arduino IDE.
- Cliquez sur le bouton Upload dans l'IDE pour transférer le code vers l'ESP8266.
- Ouvrez le moniteur série.
- Tournez le potentiomètre.
- Regardez la LED.
- Consultez le résultat sur le moniteur série.
COM6
Analog: 6, Brightness: 1
Analog: 34, Brightness: 8
Analog: 89, Brightness: 22
Analog: 149, Brightness: 37
Analog: 214, Brightness: 53
Analog: 297, Brightness: 74
Analog: 365, Brightness: 90
Analog: 431, Brightness: 107
Analog: 510, Brightness: 127
Analog: 589, Brightness: 146
Analog: 695, Brightness: 173
Analog: 790, Brightness: 196
Analog: 970, Brightness: 241
Analog: 996, Brightness: 248
Analog: 1018, Brightness: 253
Analog: 1023, Brightness: 255
Autoscroll
Clear output
9600 baud
Newline