ESP32 C3 Super Mini - Taster
Die Verwendung eines Tasters mit Ihrem ESP32 C3 Super Mini zu lernen, ist eine der wichtigsten Fähigkeiten für jedes Arduino-Projekt. Dieses Tutorial macht es Einsteigern leicht, die Verdrahtung, Programmierung und häufige Fehlerbehebung bei Tastern zu verstehen.
In diesem Tutorial lernen Sie:
- Was ein Drucktaster ist und wie er mit dem ESP32 C3 Super Mini funktioniert
- Wie Sie Taster (für Leiterplattenmontage und Panelmontage) mit Ihrem ESP32 verdrahten
- Wie Sie Code schreiben, um Tasterzustände auszulesen und Tastendrücke zu erkennen
- Wie Sie häufige Anfängerfehler wie schwebende Eingänge und Prellprobleme vermeiden

※ Notiz:
Bevor wir den Taster vorstellen, möchten wir darauf hinweisen, dass Anfänger häufig zwei typische Fehler machen:
- Das Problem des schwebenden Eingangs:
- Symptom: Wenn ein Taster an einen Eingangspin des ESP32 C3 Super Mini angeschlossen wird, ist der Zustand des Eingangspins zufällig und stimmt nicht mit dem Druckzustand des Tasters überein.
- Ursache: Am Tasterpin wird KEIN Pull-down- oder Pull-up-Widerstand verwendet.
- Lösung: ⇒ Verwenden Sie einen Pull-down- oder Pull-up-Widerstand am Eingangspin. Die Details werden später in diesem Tutorial beschrieben.
- Symptom: Der Code auf dem ESP32 C3 Super Mini liest den Zustand des Tasters und erkennt das Drück-Ereignis anhand der Zustandsänderung (HIGH zu LOW oder LOW zu HIGH). Wenn der Taster tatsächlich nur einmal gedrückt wird, erkennt der ESP32 C3 Super Mini Code mehrere Drücke statt nur einem.
- Ursache: Aufgrund mechanischer und physikalischer Eigenschaften wechselt der Zustand des Eingangspins bei einem einzigen Tastendruck mehrmals schnell zwischen LOW und HIGH statt nur einmal
- Lösung: ⇒ Entprellen. Die Details werden im Tutorial ESP32 C3 Super Mini - Taster - Entprellen beschrieben.
Das Prellphänomen verursacht nur bei bestimmten Anwendungen Fehlfunktionen, bei denen die genaue Anzahl der Tastendrücke erkannt werden muss. Bei manchen Anwendungen ist es harmlos.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
So programmieren Sie einen Taster
Die Programmierung eines Tasters am ESP32 C3 Super Mini umfasst zwei einfache Schritte.
Schritt 1: Den Pin mit internem Pull-up initialisieren:
Schritt 2: Den Tasterzustand auslesen:
Zwei häufige Anwendungsfälle:
※ Notiz:
Es gibt zwei weit verbreitete Anwendungsfälle:
- Der erste Anwendungsfall: Wenn der Eingangszustand HIGH ist, tue etwas. Wenn der Eingangszustand LOW ist, tue etwas anderes.
- Der zweite Anwendungsfall: Wenn sich der Eingangszustand von LOW zu HIGH ändert, tue etwas. Wenn sich der Eingangszustand von HIGH zu LOW ändert, tue etwas anderes.
Je nach Anwendung wird einer davon verwendet. Zum Beispiel bei der Verwendung eines Tasters zur Steuerung einer LED:
- Wenn wir die LED beim Drücken des Tasters EIN und bei NICHT gedrücktem Taster AUS schalten möchten, SOLLTEN wir den ersten Fall verwenden.
- Wenn wir die LED bei jedem Tastendruck zwischen EIN und AUS umschalten möchten, SOLLTEN wir den zweiten Fall verwenden.
Beispiel: Erkennen einer Zustandsänderung von LOW zu HIGH:
ESP32 C3 Super Mini Code
Dieser Code liest den Tasterzustand aus und zeigt ihn im Serial Monitor an.
Was der Code macht:
- Konfiguriert Pin D2 als Eingang mit internem Pull-up-Widerstand
- Liest den Tasterzustand fortlaufend aus
- Gibt den Zustand (HIGH oder LOW) im Serial Monitor aus
- Aktualisiert alle 100 Millisekunden
Schnelle Schritte
- Neu bei Arduino? Beginnen Sie zuerst mit unserer Anleitung ESP32 C3 Super Mini - Erste Schritte.
- Bauteile verdrahten: Folgen Sie dem oben gezeigten Schaltplan.
- Board anschließen: Verbinden Sie den ESP32 C3 Super Mini über ein USB-Kabel mit Ihrem Computer.
- Arduino IDE öffnen: Starten Sie die Software auf Ihrem Computer.
- Board auswählen: Wählen Sie ESP32 C3 Super Mini und den richtigen COM-Port.
- Code hochladen: Kopieren Sie den folgenden Code und fügen Sie ihn in die Arduino IDE ein.
- Kompilieren und hochladen: Klicken Sie in der Arduino IDE auf die Schaltfläche Upload.

- Serial Monitor öffnen: Klicken Sie in der Arduino IDE auf das Serial-Monitor-Symbol.

- Taster testen: Drücken und lassen Sie den Taster mehrmals los.
- Ergebnisse ansehen: Prüfen Sie die Ausgabe im Serial Monitor.
- Profi-Tipp: Lassen Sie die Baudrate des Serial Monitors passend zu Ihrem Code auf 115200 eingestellt.
Ausgabe im Serial Monitor
Hinweis: 1 steht für HIGH (Taster losgelassen), 0 steht für LOW (Taster gedrückt).
Zeile-für-Zeile-Erklärung des Codes
Der obige ESP32 C3 Super Mini Code enthält eine Zeile-für-Zeile-Erklärung. Bitte lesen Sie die Kommentare im Code!
ESP32 C3 Super Mini Code anpassen
Erweitern wir den Code so, dass er Drück- und Loslass-Ereignisse erkennt, anstatt nur Zustände auszulesen.
Was dieser angepasste Code macht:
- Erkennt, wann der Taster gedrückt wird (Zustand wechselt von HIGH zu LOW)
- Erkennt, wann der Taster losgelassen wird (Zustand wechselt von LOW zu HIGH)
- Gibt für jedes Ereignis eine klare Meldung aus
- Speichert den vorherigen Zustand, um Änderungen zu erkennen
Schnelle Schritte
- Umgebung einrichten: Wenn Sie den ESP32 C3 Super Mini zum ersten Mal verwenden, lesen Sie wie Sie die Umgebung für den ESP32 C3 Super Mini in der Arduino IDE einrichten.
- Code ändern: Ersetzen Sie Ihren bisherigen Code durch den folgenden Code.
- Code hochladen: Kompilieren Sie den Code und laden Sie ihn auf Ihr ESP32 C3 Super Mini Board hoch.
- Serial Monitor öffnen: Zeigen Sie das Ausgabefenster an.
- Testen: Drücken und lassen Sie den Taster los.
- Ergebnisse beobachten: Prüfen Sie den Serial Monitor auf Ereignismeldungen.
Ausgabe im Serial Monitor
※ Notiz:
- Der Serial Monitor kann mehrere Drück- und Loslass-Ereignisse ausgeben, obwohl Sie nur einmal gedrückt und losgelassen haben. Dies ist ein normales Verhalten des Tasters. Dieses Verhalten wird "Prellphänomen" genannt. Bei manchen Anwendungen benötigen wir eine Methode, um es zu beseitigen. Mehr dazu erfahren Sie im ESP32 C3 Super Mini - Tutorial zur Tasterentprellung.
- Um es Einsteigern einfach zu machen, insbesondere bei der Verwendung mehrerer Taster, haben wir eine Bibliothek namens ezButton entwickelt. Sie können hier mehr über die ezButton-Bibliothek erfahren.
- Wenn Sie das Tastermodul verwenden, konfigurieren Sie den Pin mit pinMode(BUTTON_PIN, INPUT). Das Modul gibt LOW aus, wenn es nicht gedrückt ist, und HIGH, wenn es gedrückt ist.
Anwendungs-/Projektideen
Hier sind kreative Möglichkeiten, Taster in Ihren ESP32 C3 Super Mini Projekten einzusetzen.
- Steuern Sie LED-Helligkeit oder -Farben mit Tastendrücken
- Erstellen Sie einen digitalen Zähler oder eine Anzeigetafel
- Bauen Sie ein Quiz-Buzzer-System mit mehreren Tastern
- Entwerfen Sie ein Sicherheitssystem mit tasteraktiviertem Alarm
- Erstellen Sie eine Steuerung für einen Musikplayer (Abspielen, Pause, Überspringen)
- Entwickeln Sie einen Ersatz für einen intelligenten Lichtschalter im Haus
Video-Bereich
Sehen Sie sich das folgende Video an, um eine visuelle Anleitung zu diesem Projekt zu erhalten.
Fordern Sie sich heraus
Bringen Sie Ihre Taster-Kenntnisse mit diesen Herausforderungen auf die nächste Stufe.
- Einfach: Fügen Sie eine LED hinzu, die leuchtet, wenn der Taster gedrückt wird
- Einfach: Zählen Sie, wie oft der Taster gedrückt wird, und zeigen Sie die Anzahl an
- Mittel: Erstellen Sie eine Erkennung für langes Drücken, die bei kurzem und langem Drücken unterschiedliche Aktionen auslöst
- Mittel: Implementieren Sie eine korrekte Entprellung, um mehrfache Erkennungen eines Drucks zu beseitigen
- Fortgeschritten: Bauen Sie ein Kombinationsschloss mit mehreren Tastern und einer geheimen Codesequenz
Zusätzliches Wissen
Zu verstehen, wann Pull-up- oder Pull-down-Widerstände verwendet werden, ist für zuverlässige ESP32 C3 Super Mini Projekte unerlässlich.
Wann Pull-up-/Pull-down-Widerstände verwendet werden:
- SOLLTEN verwendet werden: Sensoren mit zwei Zuständen (offen/geschlossen) benötigen Widerstände, um klare HIGH/LOW-Signale zu erzeugen
- Beispiele: Drucktaster, Schalter, magnetischer Kontaktschalter (Türsensor)
- SOLLTEN NICHT verwendet werden: Sensoren, die Spannungspegel (LOW/HIGH) ausgeben, benötigen keine Widerstände
- Beispiele: Bewegungssensor, Berührungssensor






