Dieses Tutorial ist Teil von: Tastaturen
Alle Videos zu Tastaturen sind hier aufgelistet.
Arduino-Code und Video für ein Vier-Tasten-Keypad
In diesem Tutorial lernen wir, wie man ein 4-Tastenfeld mit einem Arduino verwendet. Dieses Projekt ist besonders nützlich für Anwendungen, bei denen mehrere Tasten benötigt werden, aber man die Anzahl der verwendeten Drähte minimieren möchte. Durch das spezifische Anschließen des Tastenfelds können wir einen funktionierenden Aufbau mit nur 5 Drähten statt 8 erreichen.

Das Tastenfeld mit vier Tasten vereinfacht die Verkabelung, da es einen gemeinsamen Anschluss besitzt, der die insgesamt benötigte Anzahl an Drähten reduziert. Jede Taste ist über zugewiesene Pins mit dem Arduino verbunden, was eine einfache Interaktion und Steuerung ermöglicht. Diese Anleitung behandelt die Verkabelung, den Code und das erwartete Verhalten des Tastenfelds, damit Sie das Projekt erfolgreich nachbauen können (im Video bei 02:30).
Hardware erklärt
Die Hauptkomponenten dieses Projekts sind ein Tastenfeld mit vier Tasten und ein Arduino-Board. Das Tastenfeld enthält vier Tasten, und jede Taste ist über zwei Drähte mit dem Arduino verbunden – eine gemeinsame Leitung und eine eigene Leitung pro Taste. Diese Anordnung ermöglicht unkomplizierte Verbindungen und minimiert zugleich Kabelsalat.
Der Arduino interpretiert die Tastendrücke über digitale Eingänge und nutzt dabei interne Pull-up-Widerstände, um stabile Messwerte zu gewährleisten. Wenn ein Taster gedrückt wird, verbindet er den entsprechenden Pin mit Masse, sodass der Arduino die Zustandsänderung erkennen kann.
Details zum Datenblatt
| Hersteller | Generisch |
|---|---|
| Teilenummer | 4-Tasten-Tastatur |
| Logik-/I/O‑Spannung | 5 V |
| Versorgungsspannung | 5 V |
| Anzahl der Tasten | 4 |
| Gängiger Pin-Typ | aktiv bei niedrigem Pegel |
| Tastenwiderstand | 1 kΩ (typ.) |
| Paket | flexible Leiterplatte |
| Notizen / Varianten | In mehreren Layouts erhältlich |
- Jeder Taster benötigt zwei Anschlüsse: einen für das Signal des Tasters und einen für die gemeinsame Masse.
- Die Verwendung interner Pull-up-Widerstände vereinfacht die Verdrahtung und reduziert die Anzahl der Bauteile.
- Stellen Sie sicher, dass der gemeinsame Pin zur korrekten Funktion mit Masse verbunden ist.
- Tastendrücke in der Software entprellen, um fehlerhafte Messwerte zu vermeiden.
- Teste die Funktionalität der Taste mit einer einfachen seriellen Ausgabe als Rückmeldung.
Verdrahtungsanleitung

Um das Vier-Tasten-Keypad an den Arduino anzuschließen, führen Sie die folgenden Schritte aus:
- Verbinden Sie den ersten Key-Draht mit dem Pin.
2auf dem Arduino. - Schließen Sie die zweite Key-Leitung an den Pin an
3. - Verbinden Sie den dritten Draht der Taste mit dem Pin
4. - Schließen Sie den vierten Tastendraht an den Pin an.
5. - Verbinde den gemeinsamen Draht des Tastenfelds mit dem GND-Pin des Arduino.
Stellen Sie sicher, dass jede Leitung sicher angeschlossen ist, um lockere Verbindungen zu vermeiden. Wenn Sie Probleme haben, überprüfen Sie jede Verbindung anhand der im Video gezeigten Pinbelegungen (bei 04:15).
Codebeispiele und Schritt-für-Schritt-Anleitung
Der folgende Codeausschnitt initialisiert die Pins für das Tastenfeld und setzt sie als Eingänge:
#define key1 2 //connect wire 1 to pin 2
#define key2 3 //connect wire 2 to pin 3
#define key3 4 //connect wire 3 to pin 4
#define key4 5 //connect wire 4 to pin 5
void setup() {
Serial.begin(9600);
pinMode(key1, INPUT_PULLUP); // set pin as input
pinMode(key2, INPUT_PULLUP); // set pin as input
pinMode(key3, INPUT_PULLUP); // set pin as input
pinMode(key4, INPUT_PULLUP); // set pin as input
}
Im obigen Code ist jede Taste mit einer entsprechenden Pin-Nummer definiert. DieINPUT_PULLUPDer Modus stellt sicher, dass die Pins beim Nichtdrücken als HIGH gelesen werden, wodurch die Erkennung von Tastendrücken vereinfacht wird.
Die loop-Funktion liest den Zustand jeder Taste und gibt die entsprechende Meldung aus, wenn sie gedrückt wird:
void loop() {
int key1S = digitalRead(key1); // read if key1 is pressed
int key2S = digitalRead(key2); // read if key2 is pressed
int key3S = digitalRead(key3); // read if key3 is pressed
int key4S = digitalRead(key4); // read if key4 is pressed
if(!key1S) {
Serial.println("key 1 is pressed");
}
if(!key2S) {
Serial.println("key 2 is pressed");
}
// Additional code for key3 and key4...
delay(100);
}
Dieser Codeabschnitt überprüft den Zustand jeder Taste und gibt eine Meldung auf dem seriellen Monitor aus, wenn eine Taste gedrückt wird. Derdelay(100)ermöglicht einen Entprell-Effekt, sodass mehrere Betätigungen nicht in schneller Folge registriert werden.
Demonstration / Was Sie erwartet
Nachdem Sie die Verkabelung vorgenommen und den Code erfolgreich auf Ihren Arduino hochgeladen haben, sollte der serielle Monitor Meldungen anzeigen, die angeben, welche Taste gedrückt wird. Beim Drücken der Taste 1 wird "key 1 is pressed" ausgegeben, und ebenso bei den anderen Tasten. Wenn die Meldungen nicht erscheinen, überprüfen Sie Ihre Verkabelung und stellen Sie sicher, dass der gemeinsame Draht mit Masse verbunden ist.
Achten Sie auf vertauschte Anschlüsse, da dies zu unerwartetem Verhalten führen kann. Stellen Sie sicher, dass die verwendeten Pins mit denen übereinstimmen, die in Ihrem Code definiert sind (im Video bei 06:45).
Video-Zeitstempel
- 00:00- Einleitung
- 02:30- Erläuterung der Verdrahtung
- 04:15- Pinbelegungen
- 06:45- Test des Tastenfelds
Dieses Tutorial ist Teil von: Tastaturen
- Verwendung eines 4x3-Tastenfelds mit Arduino
- 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
++
/*
* This is the Arduino code for a 4-key keypad.
* Watch the video for details and demo: https://youtu.be/BiOh_Z2N7kk
*
* Written by Ahmad Shamshiri for the Robojax Video channel,
get code, wiring diagram and resources at www.Robojax.com/RJT37
* Date: December 28, 2017, 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
// Recorded December 28, 2017 for Robojax.com
#define key1 2 //connect wire 1 to pin 2
#define key2 3 //connect wire 2 to pin 3
#define key3 4 //connect wire 3 to pin 4
#define key4 5 //connect wire 4 to pin 5
void setup() {
Serial.begin(9600);
pinMode(key1, INPUT_PULLUP);// set pin as input
pinMode(key2, INPUT_PULLUP);// set pin as input
pinMode(key3, INPUT_PULLUP);// set pin as input
pinMode(key4, INPUT_PULLUP);// set pin as input
}
void loop() {
int key1S = digitalRead(key1);// read if key1 is pressed
int key2S = digitalRead(key2);// read if key2 is pressed
int key3S = digitalRead(key3);// read if key3 is pressed
int key4S = digitalRead(key4);// read if key4 is pressed
// Code written for Robojax.com video tutorial
if(!key1S){
Serial.println("key 1 is pressed");
}
if(!key2S){
Serial.println("key 2 is pressed");
}
if(!key3S){
Serial.println("key 3 is pressed");
}
if(!key4S){
Serial.println("key 4 is pressed");
}
delay(100);
}
Dinge, die Sie vielleicht brauchen
-
Amazon
-
AliExpressKaufe weiche Tastatur von Aliexpresss.click.aliexpress.com
Ressourcen & Referenzen
Noch keine Ressourcen vorhanden.
Dateien📁
Arduino-Bibliotheken (zip)
-
Tastatur Arduino Bibliothekdies ist die Bibliothek, die mit Tastaturen verwendet wird.
robojax-Keypad.zip0.02 MB