Arduino UNO R4 – Tastenfeld 1×4

In diesem Leitfaden lernen wir, wie man eine 1x4-Tastatur mit einem Arduino UNO R4 verwendet. Wir werden Folgendes behandeln:

Arduino UNO R4 Tastenfeld 1x4

Über das Keypad 1x4

Eine 1×4-Tastatur hat vier Tasten in einer Reihe. Sie wird verwendet, um Codes einzugeben, durch Menüs zu navigieren oder Schnittstellen in verschiedenen Projekten zu steuern.

Pinbelegung

Die 1×4-Tastatur hat 5 Pins. Diese Pins sind nicht in derselben Reihenfolge angeordnet wie die Beschriftungen auf den Tasten.

  • Pin 1 verlinkt zu Schlüssel 2.
  • Pin 2 verlinkt zu Schlüssel 1.
  • Pin 3 verlinkt zu Schlüssel 4.
  • Pin 4 verlinkt zu Schlüssel 3.
  • Pin 5 verbindet üblicherweise mit allen Schlüsseln.
Tastaturfeld 1x4 Pinbelegung
image source: diyables.io

Verdrahtungsdiagramm

Arduino UNO R4 Tastenfeld 1x4 Verdrahtungsdiagramm

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

Jede Taste des 1×4-Keypads funktioniert wie ein Knopf. Wir können die digitalRead()-Funktion verwenden, um zu prüfen, wie jede Taste gedrückt wird. Aber wie bei jeder Taste stoßen wir auf das Problem des Prellens – bei dem ein einzelner Tastendruck wie mehrere Tastendrücke aussehen kann. Um dies zu lösen, müssen wir jede Taste entprellen. Das Entprellen von vier Tasten, ohne andere Teile des Codes zu beeinträchtigen, kann schwierig sein. Zum Glück macht die ezLink-Bibliothek es einfacher.

#include <ezButton.h> #define KEY_NUM 4 // The number of keys #define PIN_KEY_1 3 // The Arduino UNO R4 pin connected to the key 1 #define PIN_KEY_2 2 // The Arduino UNO R4 pin connected to the key 2 #define PIN_KEY_3 5 // The Arduino UNO R4 pin connected to the key 3 #define PIN_KEY_4 4 // The Arduino UNO R4 pin connected to the key 4 ezButton keypad_1x4[KEY_NUM] = { ezButton(PIN_KEY_1), ezButton(PIN_KEY_2), ezButton(PIN_KEY_3), ezButton(PIN_KEY_4) }; void setup() { Serial.begin(9600); for (byte i = 0; i < KEY_NUM; i++) { keypad_1x4[i].setDebounceTime(100); // set debounce time to 100 milliseconds } } void loop() { int key = getKeyPressed(); if (key) { Serial.print("The key "); Serial.print(key); Serial.println(" is pressed"); } } int getKeyPressed() { for (byte i = 0; i < KEY_NUM; i++) keypad_1x4[i].loop(); // MUST call the loop() function first for (byte i = 0; i < KEY_NUM; i++) { int key_state = keypad_1x4[i].getState(); // the state after debounce if (keypad_1x4[i].isPressed()) return (i + 1); } return 0; }

Schnelle Schritte

Befolgen Sie diese Anweisungen Schritt für Schritt:

  • Wenn Sie dies zum ersten Mal mit dem Arduino UNO R4 WiFi/Minima verwenden, lesen Sie das Tutorial zur Einrichtung der Umgebung für Arduino UNO R4 WiFi/Minima in der Arduino-IDE Einrichten der Umgebung für Arduino UNO R4 WiFi/Minima in der Arduino-IDE.
  • Verbinden Sie den Arduino UNO R4 mit einer 1x4-Tastatur gemäß dem bereitgestellten Diagramm.
  • 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 COM-Port.
  • Klicken Sie auf das Bibliotheken-Symbol, das sich links in der Arduino-IDE befindet.
  • Geben Sie 'ezButton' in das Suchfeld ein und suchen Sie die von "ArduinoGetStarted.com" bereitgestellte Bibliothek.
  • Klicken Sie auf die Installieren-Schaltfläche, um die ezButton-Bibliothek hinzuzufügen.
Arduino UNO R4 Button-Bibliothek
  • Kopieren Sie den Code und öffnen Sie ihn mit der Arduino IDE.
  • Klicken Sie auf die Schaltfläche Hochladen in der Arduino IDE, um den Code an Arduino UNO R4 zu senden.
  • Öffnen Sie den seriellen Monitor.
  • Drücken Sie jede Taste der 1×4-Tastatur.
  • Überprüfen Sie die Ergebnisse im seriellen Monitor.
COM6
Send
1 2 3 4
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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