ESP32 C3 Super Mini - Joystick
Lernen Sie, wie Sie ein Joystick-Modul mit Ihrem ESP32 C3 Super Mini verbinden und programmieren. Dieses einsteigerfreundliche Tutorial behandelt alles von der Verdrahtung bis zum Auslesen analoger Werte und deren Umwandlung in Steuerbefehle.
In diesem ESP32 C3 Super Mini Joystick-Tutorial lernen Sie:
- Was ein Joystick-Sensor ist und wie er X/Y-Koordinaten ausgibt
- Wie Sie das Joystick-Modul mit dem ESP32 C3 Super Mini verdrahten
- Wie Sie den ESP32 C3 Super Mini programmieren, um die analogen Werte des Joysticks auszulesen
- Wie Sie Joystick-Messwerte in Richtungsbefehle umwandeln
- Wie Sie den Zustand des eingebauten Tasters auslesen

Erforderliche Hardware
| 1 | × | ESP32 C3 Super Mini | |
| 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 | × | Joystick | |
| 1 | × | Breadboard | |
| 1 | × | Verbindungskabel | |
| 1 | × | (Optional) DC-Stromanschluss |
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Überblick über Joystick Sensor
Der Joystick-Sensor ist ein analoges Eingabemodul, das die Position in zwei Dimensionen erfasst und einen eingebauten Taster besitzt.
Wichtige Merkmale des Joystick-Moduls:
- Zwei interne Potentiometer, die senkrecht zueinander angeordnet sind
- Gibt die X-Koordinate als analogen Wert aus (0 bis 4095 beim ESP32)
- Gibt die Y-Koordinate als analogen Wert aus (0 bis 4095 beim ESP32)
- Eingebauter Taster zur Klickerkennung
- Erzeugt 2D-Koordinaten basierend auf der Joystick-Position
- Die Werte in der Mittelstellung stellen den Ruhezustand dar
- Häufig eingesetzt in Gamecontrollern, RC-Spielzeugen und Maschinensteuerungen
- Ideal für Richtungseingaben in Arduino- und ESP32-Projekten
- Einsteigerfreundlich dank einfacher Funktionen zum analogen Auslesen
Pinbelegung
Das Joystick-Modul hat 5 Pins zum Anschluss an Ihren ESP32 C3 Super Mini:
- GND: Mit Masse (0V) verbinden
- VCC: Mit der Stromversorgung (3.3V) verbinden
- VRX: Analoger Ausgang für die horizontale Position (X-Achse)
- VRY: Analoger Ausgang für die vertikale Position (Y-Achse)
- SW: Digitaler Ausgang des internen Tasters (normalerweise HIGH mit Pull-up-Widerstand, LOW beim Drücken)

Funktionsweise
Bewegung der X-Achse (links/rechts):
- Das Bewegen des Joysticks nach links/rechts ändert die Spannung am VRX-Pin
- Die Spannung reicht von 0V (links) bis 3.3V (rechts)
- Der ESP32 C3 Super Mini liest analoge Werte von 0 bis 4095
- Der Wert ist proportional zur horizontalen Position des Daumenknopfs
Bewegung der Y-Achse (oben/unten):
- Das Bewegen des Joysticks nach oben/unten ändert die Spannung am VRY-Pin
- Die Spannung reicht von 0V (oben) bis 3.3V (unten)
- Der ESP32 C3 Super Mini liest analoge Werte von 0 bis 4095
- Der Wert ist proportional zur vertikalen Position des Daumenknopfs
Diagonale Bewegung:
- Die Spannungen an VRX und VRY ändern sich gleichzeitig
- Jede Achse gibt einen Wert proportional zur Projektion der Position aus
- Erzeugt gleichmäßige 2D-Koordinaten für jede Richtung
Funktion des Tasters:
- Drücken Sie den Joystick nach unten, um den internen Taster zu betätigen
- Mit Pull-up-Widerstand gibt der SW-Pin normalerweise 3.3V aus
- Das Drücken des Tasters zieht den SW-Pin auf 0V (GND)
- Der ESP32 liest HIGH, wenn losgelassen, und LOW, wenn gedrückt
Verdrahtungsdiagramm
Schließen Sie Ihr Joystick-Modul gemäß diesem Schaltplan an den ESP32 C3 Super Mini an:

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Verbindungstabelle:
| Joystick-Pin | ESP32 C3 Super Mini Pin |
|---|---|
| GND | GND |
| VCC | 3.3V |
| VRX | A1 |
| VRY | A0 |
| SW | D10 |
Wie man den Joystick programmiert
Beim Joystick müssen Sie mit Ihrem ESP32 C3 Super Mini zwei Programmierbestandteile behandeln:
Analoge Achsen auslesen (X-, Y-Koordinaten):
- Verwenden Sie die Funktion analogRead() für die Pins VRX und VRY
- Liefert beim ESP32 C3 Super Mini Werte von 0 bis 4095
- Einfaches einzeiliges Auslesen für jede Achse
Digitalen Taster auslesen (SW-Pin):
- Wie einen normalen Taster-Eingang behandeln
- Verwenden Sie die ezButton-Bibliothek für einfaches Entprellen
- Die Bibliothek aktiviert den internen Pull-up-Widerstand automatisch
- Details finden Sie im ESP32 C3 Super Mini - Taster Tutorial
- Code-Beispiele für den Taster finden Sie in den folgenden Abschnitten
Werte in Befehle umwandeln:
- Rohe Analogwerte müssen für Steuerungsanwendungen eventuell umgewandelt werden
- In Richtungsbefehle umwandeln (UP, DOWN, LEFT, RIGHT)
- Auf Servowinkel für Schwenk-Neige-Mechanismen abbilden
- Auf Motorgeschwindigkeitswerte skalieren
- Beispielcode für die Umwandlung finden Sie unten
ESP32 C3 Super Mini Code
Dieser Abschnitt bietet mehrere ESP32 C3 Super Mini Joystick-Beispiele:
Was diese Code-Beispiele zeigen:
- Auslesen der analogen X- und Y-Werte des Joysticks
- Auslesen der Analogwerte plus des Tasterzustands
- Umwandeln der analogen Messwerte in Richtungsbefehle
- Abbilden der Joystick-Position auf Servomotor-Winkel
- Praktische Anwendungen für Spiel- und Robotersteuerung
Analoge Werte vom Joystick auslesen
Schnelle Schritte
- Neu beim ESP32 C3 Mini? Absolvieren Sie zuerst unser Tutorial Erste Schritte mit dem ESP32 C3 Mini, um Ihre Entwicklungsumgebung einzurichten.
- Komponenten verdrahten: Folgen Sie dem obigen Schaltplan, um den Joystick mit Ihrem ESP32 C3 Super Mini zu verbinden.
- Platine anschließen: Verbinden Sie Ihren ESP32 C3 Super Mini über ein USB-Typ-C-Kabel mit Ihrem Computer.
- Arduino IDE öffnen: Starten Sie die Arduino IDE auf Ihrem Computer.
- Board und Port auswählen: Wählen Sie ESP32 C3 Super Mini im Board-Menü und den richtigen COM-Port aus.
- Code hochladen: Kopieren Sie den obigen Code, fügen Sie ihn in die Arduino IDE ein und klicken Sie auf die Schaltfläche Upload.
- Joystick testen: Drücken Sie den Daumenknopf des Joysticks in alle Richtungen bis zum Anschlag.
- Joystick drehen: Bewegen Sie den Daumenknopf in einem vollständigen Kreis (im oder gegen den Uhrzeigersinn).
- Seriellen Monitor öffnen: Prüfen Sie die Ausgabe, um die X- und Y-Koordinatenwerte zu sehen.
- Richtungen bestimmen: Beobachten Sie beim Drehen den seriellen Monitor, um festzustellen, welche Positionen links/rechts/oben/unten entsprechen (X=0 ist links, Y=0 ist oben).
- Profi-Tipp: Markieren Sie die Joystick-Basis mit Pfeilen für die Koordinatenrichtungen, damit Sie in zukünftigen Projekten schnell nachschauen können.
※ Notiz:
Möglicherweise bemerken Sie, dass die Analogwerte nicht perfekt linear zur Joystick-Bewegung verlaufen. Das liegt an den ADC-Eigenschaften des ESP32 C3 Super Mini, nicht am Joystick selbst. Weitere Informationen finden Sie im Hinweis zur ADC-Kalibrierung am Ende dieses Tutorials.
Analoge Werte und den Tasterzustand eines Joysticks auslesen
Schnelle Schritte
- ezButton-Bibliothek installieren: Klicken Sie auf das Library-Manager-Symbol in der linken Navigationsleiste der Arduino IDE.
- Nach der Bibliothek suchen: Geben Sie "ezButton" in das Suchfeld ein.
- Bibliothek finden: Suchen Sie die Button-Bibliothek von ArduinoGetStarted.com.
- Installieren: Klicken Sie auf die Schaltfläche Install, um die ezButton-Bibliothek zu Ihrer Arduino IDE hinzuzufügen.
- Search for ezButton created by ArduinoGetStarted.com and click the Install button.
- Code hochladen: Kopieren Sie den obigen Code in die Arduino IDE und klicken Sie auf Upload.
- X/Y-Bewegung testen: Drücken Sie den Daumenknopf des Joysticks nach links, rechts, oben und unten.
- Taster testen: Drücken Sie den Daumenknopf des Joysticks von oben nach unten, um den Taster zu betätigen.
- Ergebnisse ansehen: Öffnen Sie den seriellen Monitor, um die X-, Y-Werte und Änderungen des Tasterzustands zu sehen.
- Profi-Tipp: Die ezButton-Bibliothek übernimmt das Entprellen automatisch und liefert Ihnen eine saubere Tastendruck-Erkennung ohne zusätzlichen Code.
Analogwerte in die Befehle MOVE LEFT/RIGHT/UP/DOWN umwandeln
Schnelle Schritte
- Code hochladen: Kopieren Sie den Code zur Befehlsumwandlung in die Arduino IDE und klicken Sie auf Upload.
- Joystick bewegen: Drücken Sie den Daumenknopf in verschiedene Richtungen - links, rechts, oben, unten und diagonal.
- Seriellen Monitor prüfen: Öffnen Sie den seriellen Monitor, um die ausgegebenen Richtungsbefehle zu sehen.
- Diagonalen testen: Bewegen Sie den Joystick in die Ecken, um mehrere gleichzeitige Befehle zu sehen (z. B. "UP + LEFT").
- Profi-Tipp: Passen Sie die Schwellenwerte im Code an, um den Joystick mehr oder weniger empfindlich für Ihre Bewegungen zu machen.
※ Notiz:
Der Joystick kann null, einen oder zwei Befehle gleichzeitig ausgeben. Wird er zum Beispiel in die obere linke Ecke gedrückt, gibt er gleichzeitig "MOVE UP" und "MOVE LEFT" aus - ideal für diagonale Bewegungen in Spielen und Robotern.
Analogwerte in Winkel umwandeln, um zwei Servomotoren zu steuern
Eine ausführliche Anleitung zur Steuerung von Servomotoren mit Ihrem ESP32 C3 Super Mini Joystick finden Sie im vollständigen Tutorial: ESP32 C3 Super Mini - Joystick steuert Servomotor
Was Sie im Servo-Tutorial lernen:
- Abbilden der X/Y-Werte des Joysticks auf Servowinkel (0-180 Grad)
- Steuern von Schwenk-Neige-Kameramechanismen
- Aufbau interaktiver Steuerungen für Roboterarme
- Echtzeit-Reaktion des Servos auf Joystick-Bewegungen
※ Notiz:
Wichtige Informationen zur ADC-Genauigkeit:
Dieses Tutorial verwendet die Funktion analogRead(), um Werte von einem ADC (Analog-Digital-Wandler) zu lesen, der mit einem Sensor oder einer Komponente verbunden ist. Der ADC des ESP32 C3 Super Mini eignet sich für Projekte, die keine hohe Genauigkeit erfordern. Für Projekte mit präzisen Messungen sollten Sie jedoch Folgendes beachten:
- Der ADC des ESP32 C3 Super Mini ist nicht perfekt genau und muss für korrekte Ergebnisse eventuell kalibriert werden. Jede ESP32 C3 Super Mini Platine kann leicht abweichen, daher ist eine Kalibrierung für jede einzelne Platine notwendig.
- Die Kalibrierung kann besonders für Einsteiger schwierig sein und liefert nicht immer genau die gewünschten Ergebnisse.
Für Projekte, die hohe Präzision erfordern, sollten Sie einen externen ADC (z. B. ADS1115) mit dem ESP32 C3 Super Mini verwenden oder einen anderen Arduino wie den Arduino Uno R4 WiFi einsetzen, der einen zuverlässigeren ADC besitzt. Wenn Sie den ADC des ESP32 C3 Super Mini dennoch kalibrieren möchten, lesen Sie den ESP32 ADC Calibration Driver.
Anwendungs- und Projektideen
Nutzen Sie Ihren ESP32 C3 Super Mini Joystick-Aufbau für diese spannenden Projekte:
- Bauen Sie ein kabelloses RC-Auto mit Richtungssteuerung
- Erstellen Sie ein Schwenk-Neige-Kamerasystem zur Videoverfolgung
- Entwerfen Sie einen Gamecontroller für Arduino-basierte Spiele
- Steuern Sie einen Roboterarm mit intuitiven Joystick-Bewegungen
- Erstellen Sie eine Bedienschnittstelle für eine Drohnensteuerung
- Bauen Sie ein Joystick-Steuersystem für einen elektrischen Rollstuhl
- Erstellen Sie eine Spielkonsole im Arcade-Stil
- Entwerfen Sie einen Kameraslider mit präziser Positionssteuerung
Video-Tutorial
Sehen Sie sich das folgende Video an, um eine visuelle Schritt-für-Schritt-Anleitung zu diesem Projekt zu erhalten.
Fordern Sie sich selbst heraus
Testen Sie Ihre ESP32 C3 Super Mini Joystick-Kenntnisse mit diesen Aufgaben:
- Einfach: Fügen Sie LED-Anzeigen hinzu, die je nach Joystick-Richtung aufleuchten (4 LEDs für oben/unten/links/rechts).
- Einfach: Zeigen Sie die X- und Y-Werte des Joysticks auf einem OLED- oder LCD-Bildschirm statt im seriellen Monitor an.
- Mittel: Erstellen Sie ein Zeichenprogramm, das die Joystick-Bewegung in Echtzeit auf einem OLED-Display darstellt.
- Mittel: Fügen Sie eine Geschwindigkeitssteuerung hinzu, indem Sie den Abstand des Joysticks von der Mitte auf Motorgeschwindigkeitswerte abbilden.
- Fortgeschritten: Bauen Sie einen kabellosen Joystick-Controller mit ESP-NOW, um einen anderen ESP32 fernzusteuern.
- Fortgeschritten: Implementieren Sie eine Gestenerkennung, die bestimmte Joystick-Bewegungsmuster erkennt (Kreise, Achten usw.).