Dieses Tutorial ist Teil von: Tastaturen
Alle Videos zu Tastaturen sind hier aufgelistet.
Arduino-Code und Video: Schwarzes 4x4-Matrix-Keypad
In diesem Tutorial werden wir untersuchen, wie man ein 4x4-Matrix-Tastenfeld mit einem Arduino verwendet, um Aktionen basierend auf Tastendrücken auszuführen. Das Tastenfeld ermöglicht es Ihnen, Werte einzugeben, wie '6', 'A', 'B', 'D', und bestimmte Aufgaben auszuführen, wenn diese Tasten gedrückt werden. Wenn Sie den Anweisungen folgen, lernen Sie, wie Sie das Tastenfeld einrichten und den notwendigen Code schreiben, um effektiv mit ihm zu interagieren. Zur weiteren Klärung sollten Sie sich das Video ansehen (im Video bei 00:00).

Hardware erklärt
Das 4x4-Matrix-Tastenfeld besteht aus 16 Tasten, die in einem 4x4-Raster angeordnet sind. Jeder Tastendruck verbindet bestimmte Reihen und Spalten, sodass der Mikrocontroller feststellen kann, welche Taste gedrückt wurde. Das Tastenfeld ist über digitale Pins mit dem Arduino verbunden, die im Code konfiguriert werden, um Tastendrücke auszulesen.
In diesem Projekt werden wir die Keypad-Bibliothek verwenden, die den Vorgang des Einlesens von Eingaben vom Tastenfeld vereinfacht. Die Bibliothek übernimmt die Logik des Abtastens der Reihen und Spalten, damit du dich leichter auf die Funktionalität deines Projekts konzentrieren kannst.
Details zum Datenblatt
| Hersteller | Generisch |
|---|---|
| Teilenummer | 4x4-Matrix-Tastatur |
| Logik-/I/O-Spannung | 5 V |
| Lebensdauer des Schlüssels | 1,000,000 Pressen |
| Abmessungen | 68.5 mm x 9.8 mm |
| Gewicht | 23 g |
- Verbinden Sie die Reihenpins mit den digitalen Pins 2-5.
- Verbinde die Spalten-Pins mit den digitalen Pins 6-9.
- Stellen Sie eine korrekte Verdrahtung sicher, um Fehlablesungen zu vermeiden.
- Verwenden Sie Pull-up-Widerstände, falls dies für die Stabilität erforderlich ist.
- Entprellen Sie Tastendrücke in der Software, um mehrfache Auslesungen zu vermeiden.
Verdrahtungsanleitung
Um die 4x4-Matrix-Tastatur mit dem Arduino zu verdrahten, beginnen Sie damit, die Zeilenpins anzuschließen. Verbinden Sie den ersten Zeilenpin mit dem digitalen Pin5, der Pin der zweiten Reihe zu4, den Pin der dritten Reihe an3, und den Pin der vierten Reihe zu2. Als Nächstes verbinden Sie die Spaltenpins, beginnend mit dem ersten Spaltenpin an den digitalen Pin9, die zweite Spalte anheften an8, an die dritte Spalte anpinnen7, und den Pin der vierten Spalte an6. Dieser Aufbau folgt einem von rechts nach links verlaufenden Verkabelungsansatz, wie im Video beschrieben (im Video bei 00:00).
Stellen Sie sicher, dass die Drähte sicher am Tastenfeld und am Arduino befestigt sind, um lockere Verbindungen zu vermeiden. Sie können Buchsenleisten verwenden, um die Verbindungen besser handhabbar zu machen. Wenn Sie ein Breadboard verwenden, stellen Sie sicher, dass alle Verbindungen fest sitzen.
Codebeispiele & Schritt-für-Schritt-Anleitung
Der folgende Code initialisiert das Tastenfeld und richtet die serielle Kommunikation ein. Dadurch können Sie im seriellen Monitor sehen, welche Taste gedrückt wurde.
#include
const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
In diesem Auszug definieren wir die Anzahl der Zeilen und Spalten und erstellen ein Zeichenarray.keysdas die Tasten des Tastenfelds abbildet. Dieses Array wird verwendet, um zu ermitteln, welche Taste gedrückt ist.
void setup(){
Serial.begin(9600);
}In demsetupIn der Funktion initialisieren wir die serielle Kommunikation mit einer Baudrate von 9600. Dadurch können wir die Tastendrücke auf dem seriellen Monitor zum Debuggen und zur Beobachtung ausgeben.
void loop(){
char key = keypad.getKey();
if (key){
Serial.print("Key ");
Serial.print(key);
Serial.println(" is pressed");
}
}DerloopDie Funktion prüft kontinuierlich auf Tastendrücke mithilfe vonkeypad.getKey(). Wenn eine Taste gedrückt wird, gibt das Programm den Tastenwert im seriellen Monitor aus. Hier sehen Sie in Echtzeit eine Rückmeldung Ihrer Eingabe.

Demonstration / Was Sie erwartet
Sobald die Verkabelung und der Code richtig eingerichtet sind, sollten die Tastendrücke im seriellen Monitor angezeigt werden. Durch Drücken von '4' wird eine bestimmte Aktion ausgelöst, die Sie im Code anpassen können. Diese Einrichtung ermöglicht verschiedene Anwendungen, z. B. die Steuerung von Geräten basierend auf Benutzereingaben. Achten Sie auf umgekehrte Polarität und stellen Sie sicher, dass alle Verbindungen sicher sind, um Probleme zu vermeiden (im Video bei 00:00).
Video-Zeitstempel
- 00:00Einleitung
- 01:30Anschließen des Tastenfelds
- 02:45Erklärung des Codes
- 04:00Demonstration von Tastenanschlägen
Dieses Tutorial ist Teil von: Tastaturen
- Verwendung eines 4x3-Tastenfelds mit Arduino
- Arduino-Code und Video für ein Vier-Tasten-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
/*
* Original source: https://playground.arduino.cc/Code/Keypad
* This is the Arduino code for a 4x4 keypad.
* Watch the video for details and demo: https://youtu.be/1rfrvOTxtrg
* *
* Written by Ahmad S. for Robojax Video channel www.Robojax.com
resources page for this code robojax.com/RJT75
* Date: April 15, 2018, 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
*
*/
/* @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 = 4; //four columns
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
// connect the pins from right to left to pins 2, 3, 4, 5, 6, 7, 8, 9
byte rowPins[ROWS] = {5,4,3,2}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {9,8,7,6}; //connect to the column pinouts of the keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup(){
Serial.begin(9600);
}
void loop(){
char key = keypad.getKey();
// just print the pressed key
if (key){
Serial.print("Key ");
Serial.print(key);
Serial.println(" is pressed");
}
// This checks if 4 is pressed, then do something. Here we print the text, but you can control something.
if (key =='4'){
// Do something here if 4 is pressed
Serial.println("Key 4 is pressed -> Action");
}
}
Dinge, die Sie vielleicht brauchen
-
Amazon
-
AmazonKaufe 4x4-Tastatur von Amazonamzn.to
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