Arduino Mega - Keypad 1x4

Diese Anleitung zeigt, wie Sie ein 1x4 Keypad mit einem Arduino Mega verwenden. Wir werden behandeln:

Arduino Mega Keypad 1x4

Benötigte Hardware

1×Arduino Mega
1×USB 2.0 Kabel Typ A/B
1×Tastenfeld 1x4
1×Verbindungskabel
1×(Empfohlen) Screw Terminal Block Shield for Arduino Uno/Mega
1×(Empfohlen) Breadboard Shield for Arduino Mega
1×(Empfohlen) Enclosure for Arduino Mega

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.

Über das Keypad 1x4

Ein 1x4 Keypad hat vier Tasten in einer Reihe. Sie verwenden es, um Codes einzugeben, durch Menüs zu navigieren oder Geräte in verschiedenen Projekten zu steuern.

Pinbelegung

Das 1x4 Keypad hat fünf Pins. Die Pins sind nicht in der gleichen Reihenfolge wie die Beschriftungen auf den Tasten.

  • Pin 1 geht zu Taste 2.
  • Pin 2 geht zu Taste 1.
  • Pin 3 geht zu Taste 4.
  • Pin 4 geht zu Taste 3.
  • Pin 5 verbindet sich mit allen Tasten.
Keypad 1x4 Pinout
image source: diyables.io

Schaltplan

Arduino Mega Keypad 1x4 Wiring Diagram

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

Arduino Mega Code

Jede Taste auf dem 1x4 Keypad verhält sich wie eine Taste. Wir können die digitalRead() Funktion verwenden, um zu erkennen, wann eine Taste gedrückt wird. Aber wie jede Taste kann sie prellen — ein Drücken kann wie mehrere Drücke aussehen. Um dies zu beheben, müssen wir jede Taste entprellen. Das Entprellen von vier Tasten ohne Blockierung anderer Teile des Codes kann schwierig sein. Glücklicherweise macht es die ezButton Bibliothek einfacher.

#include <ezButton.h> #define KEY_NUM 4 // The number of keys #define PIN_KEY_1 3 // The Arduino Mega pin connected to the key 1 #define PIN_KEY_2 2 // The Arduino Mega pin connected to the key 2 #define PIN_KEY_3 5 // The Arduino Mega pin connected to the key 3 #define PIN_KEY_4 4 // The Arduino Mega 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 Schritte nacheinander.

  • Verbinden Sie den Arduino Mega mit einem 1x4 Keypad über das Schaltbild.
  • Verbinden Sie den Arduino Mega mit Ihrem Computer über ein USB-Kabel.
  • Öffnen Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das richtige Board (Arduino Mega) und den COM-Port.
  • Klicken Sie auf die Libraries-Taste auf der linken Seite der Arduino IDE.
  • Geben Sie in das Suchfeld "ezButton" ein und finden Sie die Bibliothek von ArduinoGetStarted.com.
  • Klicken Sie auf Install, um die ezButton Bibliothek hinzuzufügen.
Arduino Mega button library
  • Kopieren Sie den Code und öffnen Sie ihn in der Arduino IDE.
  • Klicken Sie auf die Upload-Taste in der Arduino IDE, um den Code an den Arduino Mega zu senden.
  • Öffnen Sie den Serial Monitor.
  • Drücken Sie jede Taste auf dem 1 x 4 Keypad.
  • Überprüfen Sie die Ergebnisse im Serial 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!