Arduino UNO R4 - 4x4-Tastatur

Dieses Tutorial zeigt dir, wie man einen Arduino UNO R4 mit einer 4×4-Tastatur verwendet. Wir werden die folgenden Schritte abdecken:

Arduino UNO R4 4x4-Tastatur

Über 4×4-Tastatur

Das Tastenfeld besteht aus 16 Membrantasten, die in Zeilen und Spalten angeordnet sind und als Matrix bezeichnet werden. Jede Taste wird als Taste bezeichnet.

Pinbelegung

Eine 4x4-Tastatur hat 8 Pins, die in zwei Kategorien unterteilt sind: Zeilen und Spalten.

  • 4 Pins sind für die Zeilen (R1, R2, R3, R4).
  • 4 Pins sind für die Spalten (C1, C2, C3, C4).
4x4-Tastatur-Pinbelegung

Verdrahtungsdiagramm

Arduino UNO R4 4x4-Tastenfeld 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

#include <DIYables_Keypad.h> // DIYables_Keypad library const int ROW_NUM = 4; // four rows const int COLUMN_NUM = 4; // four columns char keys[ROW_NUM][COLUMN_NUM] = { {'1','2','3', 'A'}, {'4','5','6', 'B'}, {'7','8','9', 'C'}, {'*','0','#', 'D'} }; byte pin_rows[ROW_NUM] = {9, 8, 7, 6}; //connect to the row pinouts of the keypad byte pin_column[COLUMN_NUM] = {5, 4, 3, 2}; //connect to the column pinouts of the keypad DIYables_Keypad keypad = DIYables_Keypad( makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM ); void setup(){ Serial.begin(9600); delay(1000); Serial.println("Keypad 4x4 example"); } void loop(){ char key = keypad.getKey(); if (key){ Serial.println(key); } }

Schnelle Schritte

Befolgen Sie diese Anweisungen Schritt für Schritt:

  • Wenn dies das erste Mal ist, dass Sie das 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.
  • Schließen Sie das 4x4-Keypad gemäß dem bereitgestellten Diagramm an den Arduino Uno R4 an.
  • Schließen Sie den Arduino Uno R4 mit einem USB-Kabel an Ihren Computer an.
  • Öffnen Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das passende Arduino Uno R4-Board aus (z. B. Arduino Uno R4 WiFi) und den COM-Port.
  • Öffnen Sie das Bibliotheken-Symbol auf der linken Seite der Arduino IDE.
  • Geben Sie DIYables_Keypad in das Suchfeld ein, und suchen Sie nach der Keypad-Bibliothek von DIYables.io.
  • Drücken Sie die Install-Schaltfläche, um die Keypad-Bibliothek zu installieren.
Arduino UNO R4 Keypad-Bibliothek
  • Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino-IDE.
  • Klicken Sie im Arduino-IDE auf die Schaltfläche Hochladen, um den Code auf den Arduino UNO R4 hochzuladen.
  • Öffnen Sie den seriellen Monitor.
  • Drücken Sie einige Tasten auf dem Tastenfeld.
  • Überprüfen Sie die Ergebnisse im seriellen Monitor.
COM6
Send
1 2 3 4 A B C * #
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Tastatur und Passwort

Eine gängige Verwendung eines Tastenfelds ist die Eingabe eines Passworts. In diesem Fall verwenden wir zwei spezielle Tasten:

  • Eine Taste zum Starten oder Neustarten der Passworteingabe. Zum Beispiel die Stern-Taste.
  • Eine Taste zum Beenden der Passworteingabe. Zum Beispiel die Raute-Taste.

Das Passwort wird aus den übrigen Tasten bestehen, wobei die beiden Sondertasten ausgeschlossen sind. Wenn eine Taste gedrückt wird:

  • Wenn die Taste weder '*' noch '#', füge die Taste dem vom Benutzer eingegebenen Passwort hinzu.
  • Wenn die Taste '#', prüfe, ob das eingegebene Passwort dem festgelegten Passwort entspricht, und lösche dann das eingegebene Passwort.
  • Wenn die Taste '*', lösche das eingegebene Passwort.

Ziffernblock - Passwortcode

/* * 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-keypad-4x4 */ #include <DIYables_Keypad.h> // DIYables_Keypad library const int ROW_NUM = 4; // four rows const int COLUMN_NUM = 4; // four columns char keys[ROW_NUM][COLUMN_NUM] = { {'1','2','3', 'A'}, {'4','5','6', 'B'}, {'7','8','9', 'C'}, {'*','0','#', 'D'} }; byte pin_rows[ROW_NUM] = {9, 8, 7, 6}; // connect to the row pinouts of the keypad byte pin_column[COLUMN_NUM] = {5, 4, 3, 2}; // connect to the column pinouts of the keypad DIYables_Keypad keypad = DIYables_Keypad( makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM ); const String password = "1234A"; // change your password here String input_password; void setup(){ Serial.begin(9600); Serial.println("Keypad 4x4 password"); input_password.reserve(32); // maximum input characters is 33, change if needed } void loop(){ char key = keypad.getKey(); if (key){ Serial.println(key); if(key == '*') { input_password = ""; // clear input password } else if(key == '#') { if(password == input_password) { Serial.println("password is correct"); // DO YOUR WORK HERE } else { Serial.println("password is incorrect, try again"); } input_password = ""; // clear input password } else { input_password += key; // append new character to input password string } } }
  • Führe den oben bereitgestellten Code aus.
  • Öffne den Serial Monitor.
  • Gib die Tasten "1234BC" ein und drücke anschließend "#".
  • Gib die Tasten "1234A" ein und drücke anschließend "#".
  • Überprüfe die Ergebnisse im Serial Monitor.
COM6
Send
password is incorrect, try again password is correct
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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!