ESP8266 - Potentiometer-Dimmer-LED

In einem vorherigen Tutorial haben wir herausgefunden, wie ein Potentiometer verwendet werden kann, um eine LED anzusteuern. Dieses Tutorial erklärt dir, wie du den ESP8266 verwenden kannst, um die Helligkeit der LED basierend auf dem Ausgangswert des Potentiometers anzupassen.

Erforderliche Hardware

1×ESP8266 NodeMCU
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×Potentiometer
1×Alternativ: 10k Ohm Trimmer Potentiometer
1×(Alternativ) Potentiometer Kit
1×(Alternativ) Potentiometer Module with Knob
1×LED Kit
1×LED (red)
1×LED Module
1×220Ω Resistor
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP8266
1×(Empfohlen) Stromverteiler für ESP8266 Typ-C

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Kaufhinweis: Um den Verdrahtungsprozess zu vereinfachen, empfehlen wir die Verwendung des LED Module, das mit einem eingebauten Widerstand geliefert wird.

Über LED und Potentiometer

Wenn Sie mit LED und Potentiometer (einschließlich Pinbelegung, Funktionsweise, Programmierung usw.) nicht vertraut sind, können Ihnen die folgenden Tutorials helfen:

Verdrahtungsdiagramm

ESP8266 NodeMCU Drehpotentiometer LED-Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.

Wie man programmiert

  • Liest den Wert des analogen Pins A0, der zwischen 0 und 1023 liegt.
int analog_value = analogRead(A0);
  • Stellt die Helligkeit auf einen Wert zwischen 0 und 255 ein.
int brightness = map(analog_value, 0, 1023, 0, 255);
  • Legt die Helligkeit der LED fest, die am Pin 3 angeschlossen ist.
analogWrite(LED_PIN, brightness);

ESP8266 Code

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/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); }

Schnelle Schritte

Um mit dem ESP8266 in der Arduino-IDE zu beginnen, befolgen Sie diese Schritte:

  • Schau dir das Tutorial wie man die ESP8266-Umgebung in der Arduino-IDE einrichtet an, falls du ESP8266 zum ersten Mal verwendest.
  • Schließe die Komponenten wie im Diagramm gezeigt an.
  • Verbinde das ESP8266-Board über ein USB-Kabel mit deinem Computer.
  • Öffne die Arduino-IDE auf deinem Computer.
  • Wähle das richtige ESP8266-Board aus, z. B. NodeMCU 1.0 (ESP-12E Modul), und seinen jeweiligen COM-Port.
  • Kopiere den Code und öffne ihn mit der Arduino-IDE.
  • Klicke im IDE auf den Hochladen-Button, um den Code auf den ESP8266 zu übertragen.
  • Öffne den Serial Monitor.
  • Drehe am Potentiometer.
  • Schau dir die LED an.
  • Schau dir das Ergebnis im Serial Monitor an.
COM6
Send
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 Show timestamp
Clear output
9600 baud  
Newline  

※ Notiz:

Dieses Tutorial verwendet die Funktion analogRead(), um Daten von einem ADC (Analog-Digital-Wandler) zu erhalten, der an einen Sensor oder eine andere Komponente angeschlossen ist. Der ADC des ESP8266 funktioniert gut für Projekte, bei denen man keine sehr präzisen Messwerte benötigt. Aber beachten Sie, dass der ADC des ESP8266 nicht sehr genau für detaillierte Messungen ist. Wenn Ihr Projekt sehr präzise Messwerte benötigt, möchten Sie vielleicht einen separaten ADC wie den ADS1115 zusammen mit dem ESP8266 verwenden, oder einen Arduino wie den Arduino Uno R4 WiFi nutzen, der einen zuverlässigeren ADC besitzt.

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!