Arduino Nano - Taster - LED

Dieses Tutorial zeigt dir, wie du den Arduino Nano und einen Knopf verwendest, um die LED zu steuern. Wir werden zwei verschiedene Anwendungen kennenlernen:

Anwendung 1 - Der Zustand der LED ist mit dem Zustand des Knopfs synchronisiert. Im Detail:

Anwendung 2 - Der LED-Status wird jedes Mal umgeschaltet, wenn der Knopf gedrückt wird. Genauer gesagt:

In der Anwendung 2 müssen wir den Taster entprellen, um sicherzustellen, dass er ordnungsgemäß funktioniert. Wir werden herausfinden, warum es wichtig ist, indem wir vergleichen, wie die LED sich verhält, wenn wir den Arduino-Code mit und ohne Entprellung des Tasters verwenden.

Erforderliche Hardware

1×Official Arduino Nano
1×Alternativ: DIYables ATMEGA328P Nano Development Board
1×USB-A-zu-Mini-B-Kabel
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×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano

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 Taster LED Schaltplan

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

Siehe Der beste Weg, den Arduino Nano und andere Komponenten mit Strom zu versorgen.

Anwendung 1 - Der LED-Zustand ist mit dem Knopfzustand synchronisiert

Arduino Nano Code

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano-button-led */ const int BUTTON_PIN = 2; // The number of the pushbutton pin const int LED_PIN = 5; // The number of the LED pin 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 pushbutton pin as an pull-up input: // The pull-up input pin is HIGH when the button is open and LOW when pressed. 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

  • Schließe einen Arduino Nano über ein USB-Kabel an deinen Computer an.
  • Starte die Arduino IDE und wähle das richtige Board und den richtigen Port aus.
  • Kopiere den Code und öffne ihn in der Arduino IDE.
  • Klicke auf die Upload-Schaltfläche in der Arduino IDE, um den Code zu kompilieren und auf den Arduino Nano 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 LED-Zustands.

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

Code-Erklärung

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

Anwendung 2 - Taster schaltet LED um

Arduino Nano Programmcode - Taste schaltet LED ohne Entprellung

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano-button-led */ const int BUTTON_PIN = 2; // The Arduino Nano pin connected to button's pin const int LED_PIN = 5; // The Arduino Nano pin connected to LED's pin 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 Codes für Arduino Nano.

Im Code ist der Ausdruck led_state = !led_state gleich 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 hoch.
  • Drücke den Knopf mehrmals hintereinander.
  • Überprüfe die Änderung des Zustands der LED.

Man kann beobachten, dass der LED-Zustand jedes Mal umgeschaltet wird, wenn der Knopf gedrückt wird. Dieses Verhalten ist jedoch nicht immer zuverlässig. Manchmal kann der LED-Zustand innerhalb eines einzigen Knopfdrucks schnell mehrmals umgeschaltet werden, oder er schaltet überhaupt nicht um (zweimaliges rasches Umschalten, das mit bloßem Auge schwer zu erkennen sein kann).

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

Arduino Nano Code - Taster schaltet LED mit Entprellung

Das Entprellen eines Buttons kann für Anfänger eine Herausforderung sein. Glücklicherweise erleichtert die ezButton-Bibliothek dies.

Warum ist das Entprellen notwendig? Siehe das Arduino Nano - Knopf-Entprellung Tutorial für weitere Informationen.

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano-button-led */ #include <ezButton.h> const int BUTTON_PIN = 2; // The number of the pushbutton pin const int LED_PIN = 5; // The number of the LED pin ezButton button(BUTTON_PIN); // create ezButton object for pin 7; 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 Anleitungen.
  • 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 hochzuladen.
  • Drücke den Knopf mehrmals hintereinander und lasse ihn wieder los.
  • Beobachte die Änderung des LED-Zustands.

Sie werden sehen, dass der LED-Zustand bei jedem Knopfdruck 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!