ESP32 - Potentiometer löst LED aus

Dieses Tutorial zeigt Ihnen, wie Sie den ESP32 mit dem Potentiometer verwenden, um eine LED zu steuern. Im Detail:

Wir lernen auch, wie man den analogen Wert in eine Spannung umwandelt und dann die Spannungsschwelle verwendet, um die LED zu steuern:

Wenn Sie die Helligkeit der LED mit einem Potentiometer steuern möchten, schauen Sie sich das ESP32 - Potentiometer dimmt LED Tutorial an.

Erforderliche Hardware

1×ESP32 ESP-WROOM-32 Entwicklungsmodul
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×(Optional) DC-Stromanschluss
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP32
1×(Empfohlen) Breakout Expansion Board for ESP32
1×(Empfohlen) Stromverteiler für ESP32

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 Starter-Kit (ESP32 enthalten)
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

Wir haben spezielle Tutorials zu LEDs und Potentiometern. Jedes Tutorial enthält detaillierte Informationen und Schritt-für-Schritt-Anleitungen zur Pinbelegung der Hardware, zum Funktionsprinzip, zur Verdrahtung mit dem ESP32, zum ESP32-Code... Erfahren Sie mehr dazu unter den folgenden Links:

Verdrahtungsdiagramm

ESP32 Potentiometer LED Verdrahtungsdiagramm

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

Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.

ESP32-Code - Analoge Schwelle

/* * Dieser ESP32 Code wurde von newbiely.de entwickelt * Dieser ESP32 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/esp32/esp32-potentiometer-triggers-led */ #define POTENTIOMETER_PIN 36 // ESP32 pin GPIO36 (ADC0) connected to Potentiometer pin #define LED_PIN 21 // ESP32 pin GPIO21 connected to LED's pin #define ANALOG_THRESHOLD 1000 void setup() { // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); pinMode(LED_PIN, OUTPUT); // set ESP32 pin to output mode } void loop() { int analogValue = analogRead(POTENTIOMETER_PIN); // read the input on analog pin if (analogValue > ANALOG_THRESHOLD) digitalWrite(LED_PIN, HIGH); // turn on LED else digitalWrite(LED_PIN, LOW); // turn off LED }

Schnelle Schritte

  • Wenn Sie ESP32 zum ersten Mal verwenden, sehen Sie sich wie man die Umgebung für ESP32 in der Arduino IDE einrichtet an.
  • Verdrahten Sie gemäß dem obigen Bild.
  • Verbinden Sie das ESP32-Board über ein Micro-USB-Kabel mit Ihrem PC.
  • Öffnen Sie die Arduino IDE auf Ihrem PC.
  • Wählen Sie das richtige ESP32-Board (z. B. ESP32 Dev Module) und den COM-Port aus.
  • Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
  • Kompilieren und laden Sie den Code auf das ESP32-Board hoch, indem Sie in der Arduino IDE auf die Schaltfläche Hochladen klicken.
Code in der Arduino IDE hochladen
  • Drehe den Potentiometer
  • Sieh dir die Änderung des LED-Zustands an

Zeilenweise Code-Erklärung

Der oben gezeigte ESP32-Code enthält eine zeilenweise Erklärung. Bitte lesen Sie die Kommentare im Code!

ESP32-Code - Spannungsschwelle

Der vom Potentiometer gelesene analoge Wert wird in eine Spannung umgewandelt, und dann wird die Spannung mit einer Spannungsschwelle verglichen. Überschreitet der Wert die Schwelle, wird die LED ausgelöst.

/* * Dieser ESP32 Code wurde von newbiely.de entwickelt * Dieser ESP32 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/esp32/esp32-potentiometer-triggers-led */ #define POTENTIOMETER_PIN 36 // ESP32 pin GPIO36 (ADC0) connected to Potentiometer pin #define LED_PIN 21 // ESP32 pin GPIO21 connected to LED's pin #define VOLTAGE_THRESHOLD 2.5 // Voltages void setup() { // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); pinMode(LED_PIN, OUTPUT); // set ESP32 pin to output mode } void loop() { int analogValue = analogRead(POTENTIOMETER_PIN); // read the input on analog pin float voltage = floatMap(analogValue, 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; }

※ Notiz:

Dieses Tutorial verwendet die analogRead()-Funktion, um Werte von einem ADC (Analog-Digital-Wandler) zu lesen, der an ein Potentiometer angeschlossen ist. Der ESP32-ADC eignet sich gut für Projekte, die keine hohe Genauigkeit benötigen. Für Projekte, die jedoch präzise Messungen erfordern, beachten Sie bitte:

  • Der ESP32-ADC ist nicht völlig genau und kann eine Kalibrierung für korrekte Ergebnisse benötigen. Jedes ESP32-Board kann etwas unterschiedlich sein, daher müssen Sie den ADC für jedes einzelne Board kalibrieren.
  • Die Kalibrierung kann schwierig sein, insbesondere für Anfänger, und sie liefert möglicherweise nicht immer die exakten Ergebnisse, die Sie wünschen.

Für Projekte, die eine hohe Präzision benötigen, ziehen Sie in Erwägung, einen externen ADC (z. B. ADS1115) zusammen mit dem ESP32 zu verwenden oder einen Arduino zu verwenden, der über einen zuverlässigeren ADC verfügt. Wenn Sie den ESP32-ADC dennoch kalibrieren möchten, lesen Sie ESP32 ADC Calibration Driver

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!