Arduino Nano ESP32 - Taster-LED

Dieses Tutorial zeigt Ihnen, wie Sie den Arduino Nano ESP32 und einen Taster verwenden, um die LED zu steuern. Wir werden zwei verschiedene Anwendungsfälle untersuchen:

Anwendungsfall 1 - Synchronisierung der LED- und Tastzustände, wie folgt erläutert:

Anwendungsfall 2 - Den LED-Zustand bei jedem Tastendruck umschalten, im Folgenden detailliert beschrieben:

In Use-Case 2 ist es entscheidend, den Taster zu entprellen, um eine ordnungsgemäße Funktion sicherzustellen. Wir werden die Bedeutung des Entprellens untersuchen, indem wir das LED-Verhalten vergleichen, wenn der Arduino Nano ESP32-Code mit und ohne Tasterentprellung verwendet wird.

Erforderliche Hardware

1×Arduino Nano ESP32
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×220Ω Resistor
1×Breadboard
1×Verbindungskabel
1×(Optional) 5V Power Adapter for Arduino Nano ESP32
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano ESP32

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
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.

Über LED und Knopf

Wenn Sie mit LED und Taster (einschließlich Pinbelegung, Betrieb und Programmierung) nicht vertraut sind, können Ihnen die folgenden Tutorials helfen.

Verdrahtungsdiagramm

Arduino Nano ESP32 Button-LED Schaltplan

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

Anwendung 1 - Der LED-Zustand stimmt mit dem Zustand des Tasters überein

Arduino Nano ESP32-Code

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano ESP32 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/arduino-nano-esp32/arduino-nano-esp32-button-led */ #define BUTTON_PIN D2 // The Arduino Nano ESP32 pin connected to the button #define LED_PIN D5 // The Arduino Nano ESP32 pin connected to the LED int button_state = 0; // variable for reading the pushbutton status void setup() { // Configure the LED pin as a digital output pinMode(LED_PIN, OUTPUT); // initialize the button pin as an pull-up input (HIGH when the switch is open and LOW when the switch is closed) pinMode(BUTTON_PIN, INPUT_PULLUP); } void loop() { // read the state of the pushbutton value: button_state = digitalRead(BUTTON_PIN); // control LED according to the state of button if(button_state == LOW) // If button is pressing digitalWrite(LED_PIN, HIGH); // turn on LED else // otherwise, button is not pressing digitalWrite(LED_PIN, LOW); // turn off LED }

Schnelle Schritte

  • Falls dies das erste Mal ist, dass Sie den Arduino Nano ESP32 verwenden, lesen Sie wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet.
  • Verdrahten Sie die Komponenten wie im Diagramm gezeigt.
  • Schließen Sie das Arduino Nano ESP32-Board über ein USB-Kabel an Ihren Computer an.
  • Öffnen Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das Arduino Nano ESP32-Board sowie den entsprechenden COM-Port aus.
  • Kopieren Sie den Code und öffnen Sie ihn in der Arduino IDE.
  • Klicken Sie auf die Upload-Schaltfläche in der Arduino IDE, um den Code zu kompilieren und auf den Arduino Nano ESP32 hochzuladen.
Code in der Arduino-IDE hochladen
  • Drücken Sie den Knopf und halten Sie ihn einige Sekunden lang gedrückt.
  • Überprüfen Sie die Veränderung des Zustands der LED.

Sie werden sehen, dass der Zustand der LED mit dem Zustand des Tasters synchron ist.

Code-Erklärung

Schau dir die Zeilen-für-Zeile-Erklärung an, die in den Kommentaren des Quellcodes enthalten ist!

Anwendung 2 - Knopf schaltet LED um

Arduino Nano ESP32-Code – Taste schaltet LED ohne Entprellung

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano ESP32 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/arduino-nano-esp32/arduino-nano-esp32-button-led */ #define BUTTON_PIN D2 // The Arduino Nano ESP32 pin connected to the button #define LED_PIN D5 // The Arduino Nano ESP32 pin connected to the LED int led_state = LOW; // The current state of LED int prev_button_state; // The previous state of button int button_state; // The current state of button void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(BUTTON_PIN, INPUT_PULLUP); // set arduino pin to input pull-up mode pinMode(LED_PIN, OUTPUT); // set arduino pin to output mode button_state = digitalRead(BUTTON_PIN); } void loop() { prev_button_state = button_state; // save the last state button_state = digitalRead(BUTTON_PIN); // read new state if(prev_button_state == HIGH && button_state == LOW) { Serial.println("The button is pressed"); // toggle state of LED led_state = !led_state; // control LED according to the toggled state digitalWrite(LED_PIN, led_state); } }

Code-Erklärung

Sie finden die Erklärung in den Kommentarzeilen des oben gezeigten Arduino Nano ESP32-Codes.

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

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

Schnelle Schritte

  • Kopiere den Code und öffne ihn in der Arduino IDE.
  • Lade den Code auf den Arduino Nano ESP32 hoch.
  • Drücke Reset und den Knopf mehrmals.
  • Schau dir die Änderung des LED-Zustands an.

Sie können beobachten, dass der LED-Status bei jedem Knopfdruck umgeschaltet wird. Dieses Verhalten ist jedoch nicht immer konsistent. Manchmal kann der LED-Status innerhalb eines einzigen Knopfdrucks mehrfach schnell umgeschaltet werden, oder er wird überhaupt nicht umgeschaltet (zweimal hintereinander, was mit dem bloßen Auge schwer zu erkennen ist).

⇒ Um dieses Problem zu lösen, benötigen wir Entprellung des Tasters.

Arduino Nano ESP32 Code - Taster schaltet LED mit Entprellung

Das Entprellen eines Tasters kann für Anfänger eine Herausforderung darstellen. Glücklicherweise macht die ezButton-Bibliothek das Entprellen einfach.

Warum ist Entprellung notwendig? Siehe das Arduino Nano ESP32 - Button Debounce Tutorial für weitere Informationen.

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano ESP32 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/arduino-nano-esp32/arduino-nano-esp32-button-led */ #include <ezButton.h> #define BUTTON_PIN D2 // The Arduino Nano ESP32 pin connected to the button #define LED_PIN D5 // The Arduino Nano ESP32 pin connected to the LED ezButton button(BUTTON_PIN); // create ezButton object int led_state = LOW; // The current state of LED void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(LED_PIN, OUTPUT); // set arduino pin to output mode button.setDebounceTime(50); // set debounce time to 50 milliseconds } void loop() { button.loop(); // MUST call the loop() function first if(button.isPressed()) { Serial.println("The button is pressed"); // toggle state of LED led_state = !led_state; // control LED according to the toggleed sate digitalWrite(LED_PIN, led_state); } }

Schnelle Schritte

  • Installiere die ezButton-Bibliothek. Siehe How To für Anweisungen.
  • Kopiere den Code und öffne ihn mit der Arduino IDE.
  • Klicke auf die Upload-Schaltfläche in der Arduino IDE, um den Code auf den Arduino Nano ESP32 hochzuladen.
  • Drücke den Knopf mehrmals und lasse ihn los.
  • Beobachte, wie sich der Zustand der LED ändert.

Sie werden sehen, dass der Zustand der LED bei jedem Drücken des Knopfes genau einmal umgeschaltet wird.

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.

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