ESP32 S3 - Taster LED

Dieses Tutorial zeigt Ihnen, wie Sie mit dem ESP32 S3 und einem Taster eine LED steuern. Sie lernen zwei praktische Steuerungsmethoden kennen – die LED direkt mit dem Tasterzustand synchronisieren und sie bei jedem Druck umschalten –, beide mit klarem, gut kommentiertem Code umgesetzt.

Was Sie bauen werden:

  1. Eine ESP32 S3 Schaltung mit einem Taster und einer LED, die mit dem Board verdrahtet sind
  2. Anwendung 1: Die LED leuchtet, solange der Taster gedrückt wird, und geht beim Loslassen aus
  3. Anwendung 2: Die LED wechselt bei jedem Tastendruck ihren Zustand (zuerst ohne, dann mit Entprellung)
  4. Ein zuverlässiges, prellfreies Umschalten mit der ezButton-Bibliothek
ESP32 S3 - Taster LED

Wir behandeln zwei unterschiedliche Anwendungsfälle zur LED-Steuerung per Taster am ESP32 S3:

Anwendungsfall 1 - LED- und Tasterzustand synchron:

Anwendungsfall 2 - LED-Zustand per Tastendruck umschalten:

In Anwendungsfall 2 ist die Tasterentprellung entscheidend. Wir zeigen den Unterschied zwischen ESP32 S3 Code mit und ohne Entprellung, damit Sie sehen, warum sie wichtig ist.

Erforderliche Hardware

1×ESP32 S3 WROOM N16R8
1×(Alternativ) ESP32 S3 SuperMini Dev Module
1×(Alternativ) ESP32 S3 Uno-form Board
1×(Alternativ) ESP32 S3 Camera Board
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×Breadboard-Taster mit Kappe
1×Breadboard-Taster-Kit
1×Panel-Drucktaster
1×Taster-Modul
1×LED Kit
1×LED (red)
1×LED Module
1×(Alternativ) Button and LED Kit
1×220Ω Resistor
1×Breadboard
1×Verbindungskabel
1×(Optional) 5V Power Adapter for ESP32 S3
1×(Empfohlen) Screw Terminal Expansion Board for ESP32 S3
1×(Empfohlen) Breakout Expansion Board for ESP32 S3
1×(Empfohlen) Power Splitter for ESP32 S3

Oder Sie können die folgenden Kits kaufen:

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

Überblick über LED and Button

LEDs und Taster gehören zu den wichtigsten Bausteinen für interaktive ESP32 S3 Projekte. Ein Taster liefert ein digitales Eingangssignal, das der Mikrocontroller liest, während eine LED je nach Programmlogik sofortige visuelle Rückmeldung gibt. Wenn Sie beide am ESP32 S3 kombinieren, lernen Sie den grundlegenden Ein-/Ausgabe-Ablauf, der in praktisch jedem Embedded-Projekt verwendet wird.

Wichtige Spezifikationen

Ausführliche Hintergrundinformationen zu jeder Komponente finden Sie in diesen Tutorials:

Einige wichtige Punkte sollten Sie beachten. LEDs benötigen einen Strombegrenzungswiderstand (220 Ohm empfohlen), um Schäden zu vermeiden. Taster können die eingebauten internen Pull-up-Widerstände des ESP32 S3 nutzen, sodass keine externen Bauteile nötig sind. Der ESP32 S3 verarbeitet digitale Eingänge (Taster) und digitale Ausgänge (LED) gleichzeitig, sodass sich interaktive Schaltungen auch als Einsteiger einfach aufbauen lassen.

Verdrahtungsdiagramm

Verbinden Sie den Taster und die LED gemäß dem folgenden Schaltplan mit Ihrem ESP32 S3. Überprüfen Sie jede Verbindung, bevor Sie das Board mit Strom versorgen, um versehentliche Kurzschlüsse zu vermeiden.

Schaltplan ESP32 S3 Taster LED

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

Sicherheitshinweise

Schließen Sie die LED immer über den 220-Ohm-Widerstand an, um den Strom zu begrenzen und sowohl die LED als auch den GPIO-Pin des ESP32 S3 zu schützen. Der Taster ist mit einem Anschluss an GND und mit dem anderen an den GPIO-Pin angeschlossen; der Sketch aktiviert den internen Pull-up-Widerstand, sodass für den Taster kein externer Widerstand nötig ist.

Komponente Pin ESP32 S3 Pin
Taster Ein Anschluss GPIO21
Taster Anderer Anschluss GND
LED Anode (langes Bein) GPIO1
LED Kathode (kurzes Bein) 220Ω-Widerstand nach GND

Anwendung 1 - Der LED-Zustand ist mit dem Tasterzustand synchron

Diese ESP32 S3 Anwendung zeigt die einfachste Form der LED-Steuerung per Taster: Die LED spiegelt den Tasterzustand in Echtzeit wider. Wenn Sie den Taster drücken und halten, leuchtet die LED sofort auf; wenn Sie ihn loslassen, erlischt sie. Dieser Sketch liest bei jedem Schleifendurchlauf den mit dem Taster verbundenen GPIO-Pin aus und schreibt den invertierten Zustand direkt auf den LED-Pin – so entsteht eine enge, reaktionsschnelle Rückkopplung ohne zusätzliche Logik.

ESP32 S3 Code

/* * Dieser ESP32 S3 Code wurde von newbiely.de entwickelt * Dieser ESP32 S3 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-s3/esp32-s3-button-led */ /* * This ESP32-S3 code is created by esp32io.com * * This ESP32-S3 code is released in the public domain * * For more detail (instruction and wiring diagram), visit https://esp32io.com/tutorials/esp32-s3-button-led */ #define BUTTON_PIN 21 // ESP32-S3 pin GPIO21, which connected to button #define LED_PIN 1 // ESP32-S3 pin GPIO1, which connected to led // variables will change: int button_state = 0; // variable for reading the button status void setup() { // initialize the LED pin as an output: pinMode(LED_PIN, OUTPUT); // initialize the button pin as an pull-up input: // the pull-up input pin will be HIGH when the button is open and LOW when the button is pressed. pinMode(BUTTON_PIN, INPUT_PULLUP); } void loop() { // read the state of the button value: button_state = digitalRead(BUTTON_PIN); // control LED according to the state of button if (button_state == LOW) // if button is pressed digitalWrite(LED_PIN, HIGH); // turn on LED else // otherwise, button is not pressing digitalWrite(LED_PIN, LOW); // turn off LED }

Schnelle Schritte

  1. Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
  2. Verdrahten Sie die Komponenten: Folgen Sie dem oben gezeigten Schaltplan.
  3. Verbinden Sie den ESP32 S3: Verbinden Sie ihn über ein USB-Typ-C-Kabel mit Ihrem Computer.
  4. Richten Sie die Arduino IDE ein: Wenn Sie den ESP32 S3 zum ersten Mal verwenden, lesen Sie wie man die Umgebung für den ESP32 S3 in der Arduino IDE einrichtet.
  5. Wählen Sie Ihr Board: Wählen Sie in der Arduino IDE das ESP32 S3 Board und seinen COM-Port.
  6. Laden Sie den Code hoch: Kopieren Sie den obigen Code und laden Sie ihn auf Ihren ESP32 S3 hoch.
Code in der Arduino IDE hochladen
  1. Testen Sie den Taster: Drücken und halten Sie den Taster einige Sekunden lang.
  2. Beobachten Sie die LED: Sehen Sie zu, wie die LED mit den Tastendrücken ein- und ausschaltet.
  3. Profi-Tipp: Wenn das Verhalten der LED umgekehrt erscheint, prüfen Sie, ob Sie den gedrückten Zustand des Tasters richtig erkannt haben.

Sie werden sehen, dass der LED-Zustand an Ihrem ESP32 S3 mit dem Tasterzustand synchron ist.

Code-Erklärung

Sehen Sie sich die zeilenweise Erklärung in den Kommentaren des Quellcodes an!

Anwendung 2 - Taster schaltet LED um

Diese ESP32 S3 Anwendung zeigt ein Umschaltverhalten: Jeder Tastendruck wechselt die LED zwischen EIN und AUS, anstatt sie nur so lange in einem Zustand zu halten, wie der Taster gedrückt ist. Der erste Druck schaltet die LED ein, der zweite schaltet sie aus und so weiter. Da der LED-Zustand in einer Variablen gespeichert wird und sich nur bei einer LOW-zu-HIGH-Flanke des Tasters ändert, hat das Loslassen des Tasters keine Auswirkung auf die LED.

Umschaltverhalten am ESP32 S3:

  • Der erste Tastendruck schaltet die LED EIN
  • Der zweite Tastendruck schaltet die LED AUS
  • Jeder Druck wechselt in den jeweils entgegengesetzten Zustand
  • Erfordert Entprellung für einen zuverlässigen Betrieb

ESP32 S3 Code - Taster schaltet LED ohne Entprellung um

Dieses erste Beispiel zeigt das Problem beim Umschalten per Taster am ESP32 S3 ohne Entprellung.

/* * Dieser ESP32 S3 Code wurde von newbiely.de entwickelt * Dieser ESP32 S3 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-s3/esp32-s3-button-led */

Code-Erklärung

Die Erklärung finden Sie in den Kommentarzeilen des obigen ESP32 S3 Codes.

Die Umschaltlogik verstehen:

Im Code entspricht der Ausdruck led_state = !led_state dem folgenden Code:

if(led_state == LOW) led_state = HIGH; else led_state = LOW;

Der Operator ! invertiert den booleschen Wert in einem einzigen, kompakten Ausdruck. Dies ist ein gängiges Muster in ESP32 S3 Umschaltanwendungen und entspricht dem oben gezeigten längeren if/else-Block – beide führen zum gleichen Verhalten.

Schnelle Schritte

  1. Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
  2. Laden Sie den Code hoch: Kopieren Sie den obigen Code und laden Sie ihn auf Ihren ESP32 S3 hoch.
  3. Testen Sie mehrere Tastendrücke: Drücken und lassen Sie den Taster mehrmals los.
  4. Beobachten Sie das unregelmäßige Verhalten: Beachten Sie, dass die LED möglicherweise uneinheitlich umschaltet.
  5. Verstehen Sie das Problem: Ein einzelner Druck kann die LED mehrmals oder gar nicht umschalten.
  6. Profi-Tipp: Diese Unregelmäßigkeit entsteht, weil Taster beim Drücken elektrisch „prellen“ und dadurch mehrere Signale erzeugen.

Sie werden beobachten, dass der LED-Zustand bei jedem Tastendruck umgeschaltet wird. Dieses Verhalten ist jedoch nicht immer zuverlässig. Manchmal wird der LED-Zustand bei einem einzigen Tastendruck mehrmals schnell hintereinander umgeschaltet, oder er ändert sich gar nicht (zweimaliges Umschalten in schneller Folge, das mit bloßem Auge kaum zu erkennen ist).

⇒ Um dieses Problem zu lösen, müssen wir den Taster entprellen.

ESP32 S3 Code - Taster schaltet LED mit Entprellung um

Jetzt verwenden wir eine richtige Entprellung, damit das Umschalten der LED per Taster am ESP32 S3 zuverlässig funktioniert. Die ezButton-Bibliothek übernimmt die gesamte Entprellung intern, sodass Ihr Sketch kompakt bleibt, während die Bibliothek elektrische Störungen der Tasterkontakte herausfiltert. Das Ergebnis ist ein gleichmäßiges, einmaliges Umschalten bei jedem Druck – eine deutliche Verbesserung gegenüber der Version ohne Entprellung.

Das Entprellen eines Tasters kann für Einsteiger schwierig sein. Zum Glück macht es die ezButton-Bibliothek einfach.

Warum ist Entprellung notwendig? Weitere Informationen finden Sie im Tutorial ESP32 S3 - Taster entprellen.

/* * Dieser ESP32 S3 Code wurde von newbiely.de entwickelt * Dieser ESP32 S3 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-s3/esp32-s3-button-led */

Schnelle Schritte

  1. Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
  2. Installieren Sie die ezButton-Bibliothek: Installieren Sie die ezButton-Bibliothek. Eine Anleitung finden Sie unter Anleitung.
  3. Laden Sie den entprellten Code hoch: Kopieren Sie den obigen Code und laden Sie ihn auf Ihren ESP32 S3 hoch.
  4. Testen Sie die Tastendrücke: Drücken und lassen Sie den Taster mehrmals los.
  5. Beobachten Sie das zuverlässige Umschalten: Die LED schaltet bei jedem Druck genau einmal um.
  6. Vergleichen Sie das Verhalten: Beachten Sie, wie viel zuverlässiger dies im Vergleich zur Version ohne Entprellung ist.
  7. Profi-Tipp: Die ezButton-Bibliothek funktioniert mit allen ESP32 S3 Projekten, die Tastereingaben benötigen.

Sie werden sehen, dass der LED-Zustand an Ihrem ESP32 S3 bei jedem Tastendruck genau einmal umgeschaltet wird.

Anwendungsideen

Die Kombination aus Taster und LED am ESP32 S3 ist eine Grundlage, die Sie zu vielen praktischen und kreativen Projekten erweitern können. Hier einige Ideen als Anregung:

  1. Schreibtischlampen-Steuerung: Bauen Sie eine einfache ESP32 S3 Schreibtischlampe mit manueller EIN/AUS-Umschaltung.
  2. Türklingelanzeige: Erstellen Sie eine Türklingelanzeige, die aufleuchtet, wenn der Taster gedrückt wird.
  3. Spiel-Buzzer: Entwerfen Sie ein Buzzer-System für Spiele mit visueller LED-Rückmeldung per ESP32 S3.
  4. Statusanzeige: Bauen Sie mit dem ESP32 S3 eine Statusanzeige für Geräte (EIN/AUS-Zustand).
  5. Schlossanzeige: Bauen Sie eine einfache Schlossanzeige, die den Status verriegelt/entriegelt mit Tastersteuerung anzeigt.
  6. Reaktionszeitspiel: Erstellen Sie ein Reaktionsspiel, das misst, wie schnell Sie die LED umschalten können.

Video Section

Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32 S3 Projekt an.

Fordern Sie sich heraus

Da Ihre ESP32 S3 Schaltung mit Taster und LED nun funktioniert, bauen Sie Ihre Fähigkeiten mit diesen nach Schwierigkeit geordneten Herausforderungen weiter aus:

  1. Einsteiger: Ändern Sie den Code so, dass ein einziger Taster zwei LEDs steuert (eine EIN beim Drücken, eine AUS).
  2. Einsteiger: Lassen Sie die LED beim Drücken des Tasters dreimal blinken, statt dauerhaft zu leuchten.
  3. Fortgeschritten: Fügen Sie Ihrem ESP32 S3 einen zweiten Taster hinzu, um die LED-Helligkeit zu steuern (Umschalten zwischen gedimmt und hell).
  4. Fortgeschritten: Erstellen Sie eine Ampelsequenz, die mit jedem Tastendruck in den nächsten Zustand wechselt.
  5. Experte: Implementieren Sie am ESP32 S3 eine Erkennung für langes Drücken, die sich anders verhält als ein kurzer Druck.
  6. Experte: Bauen Sie ein Kombinationsschloss mit mehreren Tastern, bei dem die LED nur bei der richtigen Reihenfolge einschaltet.

※ 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!