Dieses Tutorial ist Teil von: Tastaturen
Alle Videos zu Tastaturen sind hier aufgelistet.
Verwendung eines 4x3-Tastenfelds mit Arduino
In diesem Tutorial zeigen wir, wie man ein 4x3-Tastenfeld mit einem Arduino verwendet, um Tastendrücke auszulesen. Dieses Tastenfeld kann in verschiedenen Projekten eingesetzt werden, etwa zum Erstellen einer einfachen Benutzerschnittstelle für ein Sicherheitssystem oder für jede Anwendung, die Benutzereingaben erfordert. Am Ende dieses Leitfadens werden Sie in der Lage sein, Tastendrücke auszulesen und auf bestimmte Tasten zu reagieren.

Stellen Sie sicher, dass Sie das begleitende Video zur visuellen Demonstration der Verkabelung und der Code-Implementierung ansehen (im Video bei 00:00).
Hardware erklärt
Die Hauptkomponenten für dieses Projekt sind das 4x3-Tastenfeld und das Arduino-Board. Das Tastenfeld besteht aus einer Matrix von Tasten, angeordnet in 4 Reihen und 3 Spalten. Wenn eine Taste gedrückt wird, verbindet sie eine bestimmte Reihe mit einer bestimmten Spalte, wodurch das Arduino erkennen kann, welche Taste gedrückt wurde.
Das Arduino-Board fungiert als zentrale Steuereinheit, die die Eingaben des Tastenfelds liest. Es verwendet die Keypad-Bibliothek, die die Verwaltung der Tastenmatrix vereinfacht und das Erkennen von Tastendrücken erleichtert.
Datenblattdetails
| Hersteller | Verschiedenes |
|---|---|
| Teilenummer | 4x3-Tastenfeld |
| Logikspannung | 5 V |
| Betriebsstrom | ≤ 20 mA |
| Lebensdauer des Schlüssels | ≥ 1.000.000 Pressen |
| Paket | Matrix-Tastenfeld |
- Verbinden Sie die Pins des Keypads korrekt mit den digitalen Pins des Arduino.
- Verwenden Sie bei Bedarf Pull-up- oder Pull-down-Widerstände, je nach Ihrer Konfiguration.
- Stellen Sie sicher, dass die Keypad-Bibliothek in Ihrer Arduino-IDE enthalten ist.
- Entprellen Sie die Tastenanschläge in der Software, um mehrfaches Auslesen zu vermeiden.
- Testen Sie jede Taste, um die korrekte Verdrahtung und Funktionalität zu bestätigen.
Verdrahtungsanleitung

Um das 4x3-Tastenfeld an den Arduino anzuschließen, verbinden Sie die Reihen- und Spaltenpins des Tastenfelds mit den digitalen Pins des Arduino. Verbinden Sie die Reihenpins (typischerweise 4 Pins) mit Pins2,3,4, und5am Arduino. Die Spalten-Pins (typischerweise 3 Pins) sollten an Pins angeschlossen werden6,7, und8.
Stellen Sie sicher, dass Sie den GND-Pin des Keypads mit dem GND des Arduino verbinden und den Versorgungspin mit dem 5V-Ausgang. Diese Konfiguration ermöglicht es dem Arduino, den Zustand jeder Taste beim Drücken zu lesen, wobei die Keypad-Bibliothek das Matrix-Scanning übernimmt.
Code-Beispiele und Schritt-für-Schritt-Anleitung
Der folgende Code initialisiert das Keypad und gibt die gedrückte Taste auf dem seriellen Monitor aus. Die Tastenwerte werden in einem Zeichenarray gespeichert.
const byte ROWS = 4; //four rows
const byte COLS = 3; //three columns
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};ThekeysDas Array definiert das Layout des Tastenfelds, das der physischen Anordnung der Tasten entspricht. Jedes Zeichen stellt eine Taste des Tastenfelds dar.

Als Nächstes richten wir das Tastenfeld in dersetup()Funktion:
void setup(){
Serial.begin(9600);
Serial.println("Robojax 4x3 keypad");
}Dieses Segment initialisiert die serielle Kommunikation mit einer Baudrate von 9600, sodass wir die Tastenanschläge im seriellen Monitor sehen können.
Schließlich prüft die Schleife auf Tastendrücke und reagiert entsprechend:
void loop(){
char key = keypad.getKey();
if (key){
Serial.println(key);
}
if (key =='4'){
Serial.println("Key 4 is pressed");
}
}Hier überprüft das Programm, ob eine beliebige Taste gedrückt ist, mithilfe vonkeypad.getKey(). Wenn eine Taste gedrückt wird, wird deren Wert ausgegeben. Zusätzlich wird, wenn die Taste '4' gedrückt wird, eine bestimmte Nachricht angezeigt.
Demonstration / Was Sie erwartet
Wenn die Einrichtung abgeschlossen ist, sollte das Drücken einer beliebigen Taste auf dem Tastenfeld das entsprechende Zeichen auf dem seriellen Monitor ausgeben. Wenn die Taste '4' gedrückt wird, wird eine spezielle Meldung ausgegeben, die die Aktivierung dieser Taste anzeigt. Diese Funktionalität ermöglicht es Ihnen, auf dieser Grundlage komplexere Anwendungen aufzubauen.
Achten Sie auf schwebende Eingänge, die zu unberechenbarem Verhalten führen können. Stellen Sie sicher, dass alle Verbindungen fest sitzen, und testen Sie jede Taste, um die ordnungsgemäße Funktion zu bestätigen (im Video bei 00:00).
Dieses Tutorial ist Teil von: Tastaturen
- Arduino-Code und Video für ein Vier-Tasten-Keypad
- Arduino-Code und Video: Schwarzes 4x4-Matrix-Keypad
- Build a Simple Electronic Lock with Keypad and LCD Using Arduino
- Controlling an 8-channel relay with a 4x3 keypad
- Wie man ein 4x4-Soft-Keypad mit Arduino verwendet
- How to Use a 5x4 20-Key Keypad with Arduino to Detect Strings
- Lesson 67: Controlling an 8-Channel Relay with a Keypad Using Arduino
- 1602 LCD Keypad Shield: Basic Code
/*
* Library taken from: https://playground.arduino.cc/Code/Keypad
* This is the Arduino code for a 4x3 keypad.
* Watch the video for details and demo: http://youtu.be/qIDzzG2LUtg
resources page: www.Robojax.com/RJT104
*
* Modified by Ahmad Shamshiri for the Robojax Video channel: www.Robojax.com/RJT104
* Date: July 11, 2018 at 19:56 in Ajax, Ontario, Canada
* Permission granted to share this code, given that this
* note is kept with the code.
* Disclaimer: This code is "AS IS" and for educational purposes only.
* This code has been downloaded from https://robojax.com
* Watch video instructions for this code:
*
*/
/* @file HelloKeypad.pde
|| @version 1.0
|| @author Alexander Brevig
|| @contact alexanderbrevig@gmail.com
||
|| @description
|| | Demonstrates the simplest use of the matrix Keypad library.
|| #
*/
#include <Keypad.h>
const byte ROWS = 4; //four rows
const byte COLS = 3; //three columns
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
byte rowPins[ROWS] = {2, 3, 4, 5}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {6,7,8}; //connect to the column pinouts of the keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup(){
// Robojax 4x3 keypad test
Serial.begin(9600);
Serial.println("Robojax 4x3 keypad");
}
void loop(){
// Robojax 4x3 keypad test
char key = keypad.getKey();
// Just print the pressed key
if (key){
Serial.println(key);
}
// This checks if 4 is pressed, then do something. Here we print the text, but you can control something.
if (key =='4'){
// If key matches what you are looking for
Serial.println("Key 4 is pressed");
}
}
Dinge, die Sie vielleicht brauchen
-
Amazon
Ressourcen & Referenzen
Noch keine Ressourcen vorhanden.
Dateien📁
Fritzing-Datei
-
Membran-Matrix-Tastatur 4x3
Membrane Matrix Keypad 4x3.fzpz0.01 MB
Andere Dateien
-
LCD-Tastaturbibliothek
robojax-1602_LCD_keypad.zip