Arduino UNO R4 - 3x4-Tastatur

Dieses Tutorial zeigt Ihnen, wie man den Arduino UNO R4 mit einer 3x4-Tastatur verwendet. Im Detail werden wir lernen:

Arduino UNO R4 3x4-Tastatur

Über 3×4-Tastatur

Das Tastfeld besteht aus 12 Membrantasten, die in Reihen und Spalten angeordnet sind und als Matrix bezeichnet werden. Jede Taste wird als Knopf bezeichnet.

Pinbelegung

Eine 3×4-Tastatur hat 7 Anschlüsse, unterteilt in zwei Kategorien: Reihen und Spalten.

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

Verdrahtungsdiagramm

Arduino UNO R4 3x4-Tastatur 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 Quellcode

#include <DIYables_Keypad.h> // DIYables_Keypad library const int ROW_NUM = 4; // four rows const int COLUMN_NUM = 3; // three columns char keys[ROW_NUM][COLUMN_NUM] = { { '1', '2', '3' }, { '4', '5', '6' }, { '7', '8', '9' }, { '*', '0', '#' } }; 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 }; //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 3x4 example"); } void loop() { char key = keypad.getKey(); if (key) { Serial.println(key); } }

Schnelle Schritte

Folge diesen Anweisungen Schritt für Schritt:

  • Falls dies das erste Mal ist, dass Sie den Arduino Uno R4 WiFi/Minima verwenden, folgen Sie dem Tutorial zur Einrichtung der Umgebung für Arduino Uno R4 WiFi/Minima in der Arduino IDE.
  • Schließen Sie den Arduino Uno R4 gemäß dem bereitgestellten Diagramm an die 3×4-Tastatur 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 (z. B. Arduino Uno R4 WiFi) und den COM-Port aus.
  • Gehen Sie zum Symbol Bibliotheken 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 Installieren-Schaltfläche, um die Keypad-Bibliothek zu installieren.
Arduino UNO R4 Keypad-Bibliothek
  • Kopieren Sie den obenstehenden 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.
  • Prüfen Sie die Ergebnisse im seriellen Monitor.
COM6
Send
3 6 9 4 * #
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Tastenfeld und Passwort

Eine gängige Verwendung eines Keypads ist die Eingabe eines Passworts. In diesem Zusammenhang heben wir zwei spezielle Tasten hervor:

  • Eine Taste, um die Passworteingabe zu starten oder erneut zu starten. Zum Beispiel die Taste "*"
  • Eine Taste, um die Passworteingabe zu beenden. Zum Beispiel die Taste "#"

Das Passwort besteht aus den verbleibenden Tasten, wobei zwei ausgewählte Sondertasten ausgeschlossen werden.

Wenn eine Taste gedrückt wird.

  • Wenn die Taste weder '*' noch '#' ist, füge die Taste dem Passwort hinzu, das der Benutzer eingibt.
  • Wenn die Taste '#' ist, prüfe, ob das vom Benutzer eingegebene Passwort mit dem festgelegten Passwort übereinstimmt, und lösche anschließend das eingegebene Passwort.
  • Wenn die Taste '*' ist, lösche das eingegebene Passwort.

Tastatur - 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-3x4 */ #include <DIYables_Keypad.h> // DIYables_Keypad library const int ROW_NUM = 4; //four rows const int COLUMN_NUM = 3; //three columns char keys[ROW_NUM][COLUMN_NUM] = { {'1','2','3'}, {'4','5','6'}, {'7','8','9'}, {'*','0','#'} }; 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}; //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 = "1234"; // change your password here String input_password; void setup(){ Serial.begin(9600); Serial.println("Keypad 3x4 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ühren Sie den oben angegebenen Code aus.
  • Öffnen Sie den Serial Monitor.
  • Geben Sie die Tasten "123456" ein und drücken Sie dann "#".
  • Geben Sie die Tasten "1234" ein und drücken Sie dann "#".
  • Überprüfen Sie 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!