ESP32 S3 - Potentiometer
Dieses Tutorial zeigt Ihnen, wie Sie den ESP32 S3 mit einem Potentiometer verwenden. Das Potentiometer ist eines der vielseitigsten Eingabegeräte und ermöglicht es, eine physische Drehung in einen digitalen Wert umzuwandeln, den Ihr ESP32 S3 lesen und verarbeiten kann.

Was Sie bauen werden:
- Eine Schaltung, die ein Potentiometer mit dem ESP32 S3 verbindet
- Code, der den rohen analogen Wert des Potentiometers ausliest
- Eine Spannungsumrechnung, die den ADC-Messwert in echte Volt umrechnet
- Eine Ausgabe im seriellen Monitor, die die aktuellen Analog- und Spannungswerte anzeigt
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Überblick über Potentiometer
Das Potentiometer (auch Drehwinkelsensor genannt) ist ein veränderbarer Widerstand mit drei Anschlüssen, der zur Einstellung von Werten wie Lautsprecherlautstärke, Raumtemperatur oder Lampenhelligkeit verwendet wird. Durch Drehen der Welle verändern Sie den Widerstand zwischen dem Ausgangspin und den beiden Versorgungsanschlüssen und erzeugen so eine proportionale Ausgangsspannung, die Ihr Mikrocontroller auslesen kann.

Wichtige Spezifikationen
Pinbelegung des Potentiometers
Ein Potentiometer hat in der Regel 3 Pins:
- VCC-Pin: Verbinden Sie diesen Pin mit VCC (5V oder 3,3V)
- GND-Pin: Verbinden Sie diesen Pin mit GND (0V)
- Ausgangspin: gibt die Spannung an den analogen Eingangspin des ESP32 S3 aus

※ Notiz:
Der GND-Pin und der VCC-Pin sind vertauschbar
Wie ein Potentiometer funktioniert
Die Welle des Potentiometers kann von 0° (am nächsten zum GND-Pin) bis zu einem Winkel (am nächsten zum VCC-Pin) gedreht werden, der ANGLE_MAX genannt wird.
Die Spannung am Ausgangspin ist direkt proportional zum Winkel der Welle und variiert von 0 V bis VCC. Die folgende Tabelle zeigt den Zusammenhang zwischen Winkel und Ausgangsspannung:
| Winkel | Spannung |
|---|---|
| 0° | 0v |
| ANGLE_MAX° | VCC |
| Winkel° | Winkel° × VCC / ANGLE_MAX° |
※ Notiz:
Der Wert ANGLE_MAX hängt vom Hersteller ab.

ESP32 S3 - Dreh-Potentiometer
Der analoge Eingangspin des ESP32 S3 wandelt eine Spannung (zwischen 0 V und 3,3 V) in einen ganzzahligen Wert (zwischen 0 und 4095) um, der als ADC-Wert oder analoger Wert bezeichnet wird.
Sie können den Ausgangspin des Potentiometers mit einem analogen Eingangspin des ESP32 S3 verbinden und dann den analogen Wert von diesem Pin auslesen. Der analoge Wert kann in andere nützliche Werte umgerechnet werden:
- Umrechnung des analogen Werts in den Winkel des Potentiometers.
- Umrechnung des analogen Werts in die Spannung des Potentiometers.
- Umrechnung des analogen Werts in einen steuerbaren Einstellwert (z. B. Lautsprecherlautstärke, Raumtemperatur oder Lampenhelligkeit).
Umrechnungsbereich
| VON | BIS | |||
|---|---|---|---|---|
| Winkel | vom Benutzer gedreht | 0° | → | ANGLE_MAX° |
| Spannung | vom Pin des Potentiometers | 0V | → | 3.3V |
| ADC-Wert | vom ESP32 S3 gelesen | 0 | → | 4095 |
| Einstellwert | vom ESP32 S3 umgerechnet | VALUE_MIN | → | VALUE_MAX |
Schaltplan zwischen Potentiometer und ESP32 S3
Schließen Sie das Potentiometer mit einem Steckbrett und Jumper-Kabeln wie im folgenden Diagramm gezeigt an Ihren ESP32 S3 an. Stellen Sie sicher, dass der Ausgangspin des Potentiometers mit einem ADC-fähigen GPIO des ESP32 S3 verbunden ist.
- So verbinden Sie ESP32 S3 und Potentiometer mit einem Steckbrett

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Sicherheitshinweise
Versorgen Sie das Potentiometer immer über die 3,3-V-Leitung des ESP32 S3 statt über 5 V, da der ADC-Eingang des ESP32 S3 für maximal 3,3 V ausgelegt ist. Überprüfen Sie Ihre Verdrahtung vor dem Einschalten sorgfältig, um keine Überspannung an den analogen Pin anzulegen.
| Potentiometer-Pin | ESP32 S3-Pin |
|---|---|
| VCC | 3.3V |
| GND | GND |
| Ausgang | GPIO5 (oder ein beliebiger ADC-fähiger GPIO) |
So programmieren Sie ein Potentiometer
Das Auslesen eines Potentiometers mit dem ESP32 S3 erfordert nur wenige Zeilen Arduino-Code. Die folgenden Code-Ausschnitte zeigen jeden Schritt — vom Auslesen des rohen ADC-Werts bis zur Umrechnung in aussagekräftige Einheiten.
- Lesen Sie mit der Funktion analogRead() den Wert eines Eingangspins, der mit dem Ausgangspin des Potentiometers verbunden ist.
- Rechnen Sie mit der Funktion map() in den Winkel des Potentiometers um.
- Rechnen Sie in die Spannung des Potentiometers um:
- Rechnen Sie in einen steuerbaren Wert um (z. B. Lautstärke, Helligkeit oder Motordrehzahl):
- Zum Beispiel die Umrechnung in die Helligkeit einer LED. Wie im PWM-Tutorial erwähnt, kann die Helligkeit einer LED mit einem PWM-Wert von 0 (immer AUS) bis 255 (immer EIN) gesteuert werden. Sie können den analogen Wert wie folgt auf die LED-Helligkeit abbilden:
Wenn Sie die LED von einer Nachtlicht-Stufe bis zur vollen Helligkeit dimmen möchten:
※ Notiz:
Die Funktion map() kann den analogen Wert nur in einen Wert vom Typ int oder long umrechnen. Wenn der steuerbare Wert vom Typ float ist, verwenden Sie stattdessen die Funktion floatMap().
Funktion floatMap():
ESP32 S3 Code
Der folgende Code liest den rohen ADC-Wert und die entsprechende Spannung des Potentiometers und gibt beide alle 500 ms im seriellen Monitor aus. Laden Sie den Sketch auf Ihren ESP32 S3 hoch und öffnen Sie den seriellen Monitor, um die aktuellen Messwerte beim Drehen des Knopfes zu sehen.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
- Kompilieren Sie den Code und laden Sie ihn auf das ESP32 S3-Board hoch, indem Sie in der Arduino IDE auf die Schaltfläche Upload klicken.

- Öffnen Sie den seriellen Monitor in der Arduino IDE.

- Drehen Sie den Potentiometer-Knopf langsam von einem Ende zum anderen.
- Beobachten Sie die aktuellen Messwerte im seriellen Monitor.
- Profi-Tipp: Versuchen Sie, den analogen Wert per PWM auf die Helligkeit einer LED abzubilden, um die Wirkung des Potentiometers in Echtzeit physisch zu sehen.
Serieller Monitor
Nach dem Hochladen zeigt der serielle Monitor den rohen analogen Wert zusammen mit der berechneten Spannung an. Drehen Sie das Potentiometer, um die Werte in Echtzeit zu verändern. Die folgenden Messwerte wurden 2026 aufgezeichnet:
※ Notiz:
Dieses Tutorial verwendet die Funktion analogRead(), um Werte vom ADC zu lesen, der mit dem Potentiometer verbunden ist. Der ADC des ESP32 S3 eignet sich für Projekte, die KEINE hohe Genauigkeit erfordern. Für Projekte, die präzise Messungen benötigen, beachten Sie:
- Der ADC des ESP32 S3 ist nicht perfekt genau und muss möglicherweise kalibriert werden. Jedes Board kann sich leicht unterschiedlich verhalten.
- Die Kalibrierung kann für Anfänger schwierig sein und liefert nicht immer exakte Ergebnisse.
Für hochpräzise Projekte sollten Sie einen externen ADC (z. B. ADS1115) mit dem ESP32 S3 verwenden. Wenn Sie den ADC dennoch kalibrieren möchten, lesen Sie den ESP32 ADC Calibration Driver.
Anwendungen
Potentiometer werden überall dort eingesetzt, wo ein Benutzer einen Wert interaktiv einstellen muss. Einige praktische Anwendungen für Ihre ESP32 S3-Projekte sind:
- Lautstärkeregelung: Passen Sie den Audio-Ausgangspegel in einem Bluetooth- oder kabelgebundenen Lautsprechersystem an.
- Helligkeitsdimmer: Steuern Sie die Intensität von LEDs oder einer LCD-Hintergrundbeleuchtung.
- Motordrehzahlregelung: Legen Sie die Zieldrehzahl eines Gleichstrommotors über eine PWM-Zuordnung fest.
- Temperatur-Sollwert: Ermöglichen Sie es Benutzern, eine gewünschte Raumtemperatur für einen Thermostat einzustellen.
- Servoposition: Drehen Sie einen Servomotor in einem Roboterarm auf einen vom Benutzer gewählten Winkel.
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.
Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32 S3-Projekt an.
Herausforderungen
Nachdem Sie nun eine funktionierende Potentiometer-Schaltung am ESP32 S3 haben, erweitern Sie das Projekt mit diesen Übungen, um Ihr Verständnis zu vertiefen.
- Anfänger: Ändern Sie den für das Potentiometer verwendeten GPIO-Pin, passen Sie den Code entsprechend an und prüfen Sie, ob die Messwerte weiterhin korrekt funktionieren.
- Fortgeschritten: Verwenden Sie den Potentiometer-Wert, um die Helligkeit einer LED zu steuern, die an einem PWM-fähigen Pin des ESP32 S3 angeschlossen ist.
- Experte: Bauen Sie eine einfache Benutzeroberfläche auf einem OLED-Display, die einen Fortschrittsbalken mit der aktuellen Potentiometer-Position in Prozent anzeigt.