In diesem Tutorial liest du den Wert eines Potentiometers (Poti) präzise aus. Du bekommst Schaltung, Pinouts und kompakten Beispielcode für Arduino UNO, ESP32 und ESP8266/D1 Mini – inklusive Spannungsberechnung und Tipps gegen Rauschen.
Beispiele für die Anwendung
- Helligkeitsregler für LED-Streifen
- Menü-Navigation per Drehknopf
- Sollwertvorgabe für Motor-/PID-Regelung
- Analoges Throttle für RC/Robotik
- Live-Tuning von Filtern/Sensoroffsets
Ein Potentiometer ist ein verstellbarer Spannungsteiler. Du legst an die äußeren Anschlüsse VCC und GND, der Schleifer (Wiper) liefert eine Zwischenspannung proportional zur Stellung. Diese Spannung misst du am Analog-Eingang (ADC) deines Boards.

Typische Werte sind 10 kΩ (linear). Der ADC liefert Rohwerte (UNO: 0–1023, ESP32: 0–4095, ESP8266: 0–1023). Aus Rohwert und Referenzspannung berechnest du die tatsächliche Spannung. Stolpersteine: falsche Betriebsspannung (5 V vs. 3,3 V), nicht gemeinsame Masse, ADC-Rauschen und beim ESP8266 die abweichende A0-Spannungsgrenze.
Teileliste (Bill of Materials)
- Potentiometer, 10 kΩ linear (B10K)
- Breadboard + Jumperkabel (M/M)
- Optional: 100 nF Keramikkondensator zwischen Wiper und GND (Glättung)
- Arduino UNO oder ESP32 DevKit oder ESP8266 Wemos D1 Mini
- USB-Kabel zum Programmieren
Pinout & Verdrahtung
Hinweise:
- Arduino UNO arbeitet mit 5 V. ESP32/ESP8266 arbeiten mit 3,3 V.
- Kein Level-Shifter nötig, aber niemals 5 V an ADC-Pins der ESP-Boards anlegen.
- ESP8266: Der blanke Chip-ADC (Analog to Digital Converter) erwartet 0–1,0 V. Dev-Boards (z. B. NodeMCU oder D1 Mini) haben einen Teiler, sodass A0 = 0–3,2 V verträgt.
Arduino UNO

Signal | Sensor/Modul-Pin | Board-Pin | Hinweis |
---|---|---|---|
+V | Außenanschluss | 5V | Versorgung vom UNO |
GND | Außenanschluss | GND | Gemeinsame Masse |
Wiper | Mittelanschluss | A0 | Optional 100 nF nach GND |
ESP32 (Beispiel: GPIO34, ADC1_CH6)

Signal | Sensor/Modul-Pin | Board-Pin | Hinweis |
---|---|---|---|
+V | Außenanschluss | 3V3 | Max. 3,3 V |
GND | Außenanschluss | GND | Gemeinsame Masse |
Wiper | Mittelanschluss | GPIO34 | Input-only, stabiler ADC1 |
ESP8266 / D1 Mini


Signal | Sensor/Modul-Pin | Board-Pin | Hinweis |
---|---|---|---|
+V | Außenanschluss | 3V3 | Max. 3,3 V |
GND | Außenanschluss | GND | Gemeinsame Masse |
Wiper | Mittelanschluss | A0 | D1 Mini: 0–3,2 V dank Teiler |
Bibliotheken & Installation:
- Keine zusätzliche Library erforderlich – Nutzung der Kern-Funktionen (
analogRead
) - Board-Pakete im Boardverwalter:
- esp32 by Espressif Systems
- ESP8266 by ESP8266 Community
Verwendung mit Arduino (UNO/Nano):
Kurz: Wiper an A0, 5 V Versorgung. Der ADC liefert 10 Bit (0–1023).
// Potentiometer auslesen – Arduino UNO (A0) // const int PIN_POT = A0; // Analog-Pin für den Schleifer // const float VREF = 5.0; // Referenz am UNO (AVcc ≈ 5,0 V) // void setup() { // Setup beginnt // Serial.begin(115200); // Seriellen Monitor starten // } // Setup endet // void loop() { // Loop beginnt // int raw = analogRead(PIN_POT); // Rohwert 0–1023 lesen // float volt = raw * VREF / 1023.0; // Spannung berechnen // int percent = (raw * 100) / 1023; // Prozentwert 0–100 % // Serial.print("raw="); Serial.print(raw); // Rohwert ausgeben // Serial.print(" U="); Serial.print(volt,2);// Spannung mit 2 Nachkommastellen // Serial.print(" V "); // Einheit // Serial.print(percent); Serial.println(" %");// Prozent ausgeben // delay(200); // Kurze Pause zur Beruhigung // } // Loop endet //
Hinweis: Öffne den Seriellen Monitor mit 115200 Baud.
Verwendung mit ESP32:
Nutze ADC1-Pins wie GPIO34/35/32/33/36/39; vermeide Boot-Pins (z. B. 0, 2, 12, 15) für kritische Signale.
// Potentiometer auslesen – ESP32 (GPIO34) // const int PIN_POT = 34; // ADC1 Kanal, input-only // const float VREF = 3.3; // Nominal 3,3 V an 3V3 // void setup() { // Setup beginnt // Serial.begin(115200); // Seriellen Monitor starten // analogReadResolution(12); // 12 Bit: 0–4095 // } // Setup endet // void loop() { // Loop beginnt // int raw = analogRead(PIN_POT); // Rohwert 0–4095 lesen // float volt = raw * VREF / 4095.0; // Spannung berechnen // int percent = (raw * 100) / 4095; // Prozentwert 0–100 % // Serial.print("raw="); Serial.print(raw); // Rohwert ausgeben // Serial.print(" U="); Serial.print(volt,2);// Spannung mit 2 Nachkommastellen // Serial.print(" V "); // Einheit // Serial.print(percent); Serial.println(" %");// Prozent ausgeben // delay(200); // Kurze Pause // } // Loop endet //
Verwendung mit ESP8266/NodeMCU/D1 Mini:
D-Labels beachten: A0 ist der einzige ADC. Auf D1 Mini ist A0 durch einen Teiler auf ca. 0–3,2 V skaliert (Rohwerte 0–1023).
// Potentiometer auslesen – ESP8266 (D1 Mini A0) // const int PIN_POT = A0; // Einziger ADC-Pin // const float VREF = 3.2; // D1 Mini: A0 ≈ 0–3,2 V durch Teiler // void setup() { // Setup beginnt // Serial.begin(115200); // Seriellen Monitor starten // } // Setup endet // void loop() { // Loop beginnt // int raw = analogRead(PIN_POT); // Rohwert 0–1023 lesen // float volt = raw * VREF / 1023.0; // Spannung berechnen // int percent = (raw * 100) / 1023; // Prozentwert 0–100 % // Serial.print("raw="); Serial.print(raw); // Rohwert ausgeben // Serial.print(" U="); Serial.print(volt,2);// Spannung mit 2 Nachkommastellen // Serial.print(" V "); // Einheit // Serial.print(percent); Serial.println(" %");// Prozent ausgeben // delay(200); // Kurze Pause // } // Loop endet //
Troubleshooting:
- Messwert 0 oder 1023/4095 fest → Wiper falsch verkabelt → Mittelanschluss an ADC prüfen.
- Werte springen stark → Störungen/Leitungsrauschen → 100 nF vom Wiper nach GND +
delay(200)
oder Mittelwertbildung. - Invertierter Verlauf → Außenanschlüsse vertauscht → +V und GND am Poti tauschen.
- ESP zeigt falsche Spannung → Falsches VREF angenommen → VREF im Code an Board anpassen (UNO 5,0 V; ESP 3,3 V; D1 Mini 3,2 V).
- ESP8266 übersteuert → A0 > zulässig → Sicherstellen: D1 Mini A0 ≤ 3,2 V; bei Bare-ESP8266 nur 1,0 V!
- ESP32 unstetig bei bestimmten Pins → ADC2/PWM/Touch-Interferenzen → ADC1-Pins (z. B. GPIO34) verwenden.
- Keine Reaktion im Monitor → Falsche Baudrate → 115200 Baud einstellen.
- Werte „treiben“ bei langen Kabeln → Hoher Quellwiderstand → 10 kΩ verwenden und Leitungen kurz halten.
Projektideen:
Wenn dir das Projekt gefallen hat und du von weiteren interessanten Projekten inspiriert werden willst, sieh dir doch mal mein neues E-Book »Arduino Projekte Volume 1« an!
- Die beliebtesten Arduino-Projekte von StartHardware
- Inklusive Schaltplan, Beschreibung und Code
- Arduino-Schnellstart-Kapitel
- Kompakter Programmierkurs