Arduino UNO R4 mehrere Tasten

Arduino UNO R4 mit mehreren Tasten

Dieser Leitfaden zeigt dir, wie du einen Arduino UNO R4 mit mehreren Tasten gleichzeitig verwendest, ohne die delay()-Funktion zum Entprellen zu verwenden. Der Leitfaden bietet Code in zwei verschiedenen Methoden:

Wir verwenden fünf Schaltflächen als Beispiele. Sie können dies leicht auf zwei Schaltflächen, vier Schaltflächen oder sogar noch mehr ändern.

Über Button

Wir bieten einen detaillierten Leitfaden zu Tastern, der die Hardwareverbindungen, wie sie funktionieren, die Verkabelung mit dem Arduino UNO R4 und das Schreiben des Codes abdeckt. Hier erfahren Sie mehr:

Verdrahtungsdiagramm

Arduino UNO R4 Schaltplan mit mehreren Tasten

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

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

Arduino UNO R4 Code – Mehrere Tasten mit Entprellung

Wenn mehrere Schaltflächen verwendet werden, können Situationen komplex werden.

  • Anwendungen, die eine Entprellung von Tasten benötigen
  • Anwendungen, die erkennen müssen, wann Tasten gedrückt oder losgelassen werden

Die ezButton-Bibliothek vereinfacht die Arbeit mit Tasten, indem sie Entprellung und Tastenevents intern behandelt. Nutzer müssen sich bei der Verwendung dieser Bibliothek nicht um die Verwaltung von Zeitstempeln und Variablen kümmern. Außerdem kann die Verwendung mehrerer Tasten den Code klarer und kürzer machen.

/* * Dieser Arduino UNO R4 Code wurde von newbiely.de entwickelt * Dieser Arduino UNO R4 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-uno-r4/arduino-uno-r4-multiple-button */ #include <ezButton.h> #define BUTTON_NUM 5 // the number of buttons #define BUTTON_PIN_1 2 // The Arduino UNO R4 pin connected to the button 1 #define BUTTON_PIN_2 3 // The Arduino UNO R4 pin connected to the button 2 #define BUTTON_PIN_3 4 // The Arduino UNO R4 pin connected to the button 3 #define BUTTON_PIN_4 5 // The Arduino UNO R4 pin connected to the button 4 #define BUTTON_PIN_5 6 // The Arduino UNO R4 pin connected to the button 5 ezButton button1(BUTTON_PIN_1); // create ezButton object for button 1 ezButton button2(BUTTON_PIN_2); // create ezButton object for button 2 ezButton button3(BUTTON_PIN_3); // create ezButton object for button 3 ezButton button4(BUTTON_PIN_4); // create ezButton object for button 4 ezButton button5(BUTTON_PIN_5); // create ezButton object for button 5 void setup() { Serial.begin(9600); button1.setDebounceTime(100); // set debounce time to 100 milliseconds button2.setDebounceTime(100); // set debounce time to 100 milliseconds button3.setDebounceTime(100); // set debounce time to 100 milliseconds button4.setDebounceTime(100); // set debounce time to 100 milliseconds button5.setDebounceTime(100); // set debounce time to 100 milliseconds } void loop() { button1.loop(); // MUST call the loop() function first button2.loop(); // MUST call the loop() function first button3.loop(); // MUST call the loop() function first button4.loop(); // MUST call the loop() function first button5.loop(); // MUST call the loop() function first // get button state after debounce int button1_state = button1.getState(); // the state after debounce int button2_state = button2.getState(); // the state after debounce int button3_state = button3.getState(); // the state after debounce int button4_state = button4.getState(); // the state after debounce int button5_state = button5.getState(); // the state after debounce /* Serial.print("The button 1 state: "); Serial.println(button1_state); Serial.print("The button 2 state: "); Serial.println(button2_state); Serial.print("The button 3 state: "); Serial.println(button3_state); Serial.print("The button 4 state: "); Serial.println(button4_state); Serial.print("The button 5 state: "); Serial.println(button5_state); */ if (button1.isPressed()) Serial.println("The button 1 is pressed"); if (button1.isReleased()) Serial.println("The button 1 is released"); if (button2.isPressed()) Serial.println("The button 2 is pressed"); if (button2.isReleased()) Serial.println("The button 2 is released"); if (button3.isPressed()) Serial.println("The button 3 is pressed"); if (button3.isReleased()) Serial.println("The button 3 is released"); if (button4.isPressed()) Serial.println("The button 4 is pressed"); if (button4.isReleased()) Serial.println("The button 4 is released"); if (button5.isPressed()) Serial.println("The button 5 is pressed"); if (button5.isReleased()) Serial.println("The button 5 is released"); }

Schnelle Schritte

Folgen Sie diesen Anweisungen Schritt für Schritt:

  • Wenn Sie das Arduino Uno R4 WiFi/Minima zum ersten Mal verwenden, lesen Sie das Tutorial zur Einrichtung der Umgebung für Arduino Uno R4 WiFi/Minima in der Arduino IDE (BASE_URL/tutorials/arduino-uno-r4/arduino-uno-r4-software-installation).
  • Verbinden Sie das Arduino Uno R4-Board gemäß dem bereitgestellten Diagramm mit den Tasten.
  • Verbinden Sie das Arduino Uno R4-Board über ein USB-Kabel mit Ihrem Computer.
  • Öffnen Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das passende Arduino Uno R4-Board (z. B. Arduino Uno R4 WiFi) und den COM-Port.
  • Klicken Sie auf das Bibliotheken-Symbol auf der linken Seite der Arduino IDE.
  • Suchen Sie nach ezButton und finden Sie die von ArduinoGetStarted.com erstellte Button-Bibliothek.
  • Klicken Sie auf die Installieren-Schaltfläche, um die ezButton-Bibliothek zu installieren.
Arduino UNO R4 Tasterbibliothek
  • Kopieren Sie den Code und fügen Sie ihn in die Arduino IDE ein.
  • Klicken Sie auf die Schaltfläche Hochladen in der Arduino IDE, um den Code für das Arduino UNO R4-Board zu kompilieren und hochzuladen.
So lädt man Arduino UNO R4-Code mit der Arduino IDE hoch
  • Öffnen Sie den seriellen Monitor in der Arduino-IDE.
  • Drücken und lassen Sie jeden Knopf der Reihe nach los.
COM6
Send
The button 1 is pressed The button 1 is released The button 2 is pressed The button 2 is released The button 3 is pressed The button 3 is released The button 4 is pressed The button 4 is released The button 5 is pressed The button 5 is released
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Arduino UNO R4 Code - Mehrere Tasten mithilfe eines Arrays

Wir können den obigen Code verbessern, indem wir ein Array von Schaltflächen verwenden.

/* * Dieser Arduino UNO R4 Code wurde von newbiely.de entwickelt * Dieser Arduino UNO R4 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-uno-r4/arduino-uno-r4-multiple-button */ #include <ezButton.h> #define BUTTON_NUM 5 // the number of buttons #define BUTTON_PIN_1 2 // The Arduino UNO R4 pin connected to the button 1 #define BUTTON_PIN_2 3 // The Arduino UNO R4 pin connected to the button 2 #define BUTTON_PIN_3 4 // The Arduino UNO R4 pin connected to the button 3 #define BUTTON_PIN_4 5 // The Arduino UNO R4 pin connected to the button 4 #define BUTTON_PIN_5 6 // The Arduino UNO R4 pin connected to the button 5 ezButton buttonArray[] = { ezButton(BUTTON_PIN_1), ezButton(BUTTON_PIN_2), ezButton(BUTTON_PIN_3), ezButton(BUTTON_PIN_4), ezButton(BUTTON_PIN_5) }; void setup() { Serial.begin(9600); for (byte i = 0; i < BUTTON_NUM; i++) { buttonArray[i].setDebounceTime(100); // set debounce time to 100 milliseconds } } void loop() { for (byte i = 0; i < BUTTON_NUM; i++) buttonArray[i].loop(); // MUST call the loop() function first for (byte i = 0; i < BUTTON_NUM; i++) { // get button state after debounce int button_state = buttonArray[i].getState(); // the state after debounce /* Serial.print("The button "); Serial.print(i + 1); Serial.print(": "); Serial.println(button_state); */ if (buttonArray[i].isPressed()) { Serial.print("The button "); Serial.print(i + 1); Serial.println(" is pressed"); } if (buttonArray[i].isReleased()) { Serial.print("The button "); Serial.print(i + 1); Serial.println(" is released"); } } }

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!