Eine Matrix-Tastatur ist ein Gerät, mit dem Sie mehrere Tasten mit einer kleineren Anzahl von Drähten an einen einzelnen Arduino-Controller anschließen können. Eine solche Tastatur hat ein Raster, das aus Reihen und Spalten besteht, und jede Schaltfläche stellt einen Schnittpunkt zwischen einer Reihe und einer Spalte dar.
Mit der Arduino-Matrix-Tastatur können Sie eine Vielzahl von Projekten erstellen, z. B. digitale Schlösser, Game-Controller, Bedienfelder usw. In diesem Handbuch werden wir die Grundlagen der Matrix-Tastatur untersuchen und Codebeispiele bereitstellen, mit denen Sie beginnen können, Ihre eigenen Projekte zu erstellen.
Um mit einer Arduino-Matrixtastatur zu arbeiten, müssen Sie sie an die entsprechenden Pins des Controllers anschließen. Je nach Tastaturmodell kann sich die Anzahl der Zeilen und Spalten ändern. In diesem Handbuch werden wir Beispiele für Tastaturen mit 4 Reihen und 4 Spalten betrachten.
Sie können programmgesteuert mit der Arduino-Matrix-Tastatur mit der Bibliothek «Keypad» arbeiten. Es ermöglicht Ihnen, bequem zu bestimmen, auf welche Schaltfläche geklickt wurde, und das Ereignis zu verarbeiten. Sie können diese Informationen später für verschiedene Aktionen verwenden, z. B. zum Ändern des LED-Status oder zum Senden von Daten über den seriellen Port.
Arbeiten mit der Arduino-Matrix-Tastatur: Grundlagen und Installation
Bevor Sie mit der Matrixtastatur beginnen, müssen Sie mehrere Bibliotheken auf dem Arduino installieren. Dies ermöglicht es Ihnen, vorgefertigte Funktionen und Methoden für die Arbeit mit der Tastatur zu verwenden, was den Entwicklungsprozess erheblich vereinfacht.
Hier ist eine Liste der benötigten Bibliotheken:
- Keypad: diese Bibliothek bietet Funktionen für die Arbeit mit der Matrixtastatur, einschließlich der Erkennung gedrückter Tasten und der Ereignisbehandlung. Um die Bibliothek zu installieren, gehen Sie zum Arduino IDE-Menü, wählen Sie Skizze -> Bibliothek einschließen -> Bibliotheken verwalten, suchen Sie nach Keypad und klicken Sie auf Installieren.
- Wire: Dies ist eine Arduino-Standardbibliothek, die es ermöglicht, angeschlossene Geräte über das I2C-Protokoll zu installieren und zu betreiben. Sie ist erforderlich, um einige Modelle von Matrixtastaturen zu verbinden. Die Bibliothek ist bereits in der Arduino IDE installiert und erfordert keine separate Installation.
Nachdem Sie die erforderlichen Bibliotheken installiert haben, können Sie die Matrixtastatur mit dem Arduino verbinden. Dazu benötigen Sie die folgenden Komponenten:
- Matrix-Tastatur (besteht normalerweise aus 4x4 oder 3x4 Tasten).
- Arduino (jedes Modell).
- Widerstände 10KΩ (zum Anziehen der Eingangspins).
- Drähte zum Anschließen von Komponenten.
Nachdem Sie die Tastatur mit dem Arduino verbunden haben, verwenden Sie die Codebeispiele, um mit dem Gerät zu beginnen. Diese Beispiele sind im Arduino IDE-Menü verfügbar ("File" -> "Examples" -> "Keypad"). Wählen Sie abhängig von Ihrer Matrixtastatur ein geeignetes Beispiel aus und laden Sie es auf den Arduino hoch.
Nachdem Sie das Beispiel heruntergeladen haben, können Sie die Ausgabe der integrierten Arduino-LED beobachten oder Informationen über die gedrückten Tasten im seriellen Arduino IDE-Monitor erhalten.
Jetzt können Sie mit einer Arduino-Matrix-Tastatur arbeiten und wissen, wie Sie die notwendigen Bibliotheken für die Arbeit mit dem Gerät installieren. Sie können dieses Tool verwenden, um verschiedene Projekte zu erstellen, einschließlich Zugangssysteme, ein automatisches Setupfenster und vieles mehr.
Installieren der Bibliothek und Anschließen der Tastatur an den Arduino
Um mit der Matrix-Tastatur auf dem Arduino zu arbeiten, muss die entsprechende Bibliothek installiert sein. In diesem Handbuch verwenden wir die Keypad-Bibliothek, die praktische Funktionen für die Arbeit mit der Tastatur bietet.
Befolgen Sie die folgenden Schritte, um die Bibliothek zu installieren:
- Öffnen Sie die Arduino IDE.
- Gehe zum Menü Sketches ->Bibliothek aktivieren ->Bibliotheken verwalten.
- Geben Sie in die Suchleiste ein Keypad.
- Suchen Sie die Bibliothek Keypad und drücken Sie die taste Festlegen.
- Nachdem Sie die Bibliothek installiert haben, können Sie das Bibliotheksverwaltungsmenü schließen.
Jetzt, da die Bibliothek installiert ist, ist es möglich, die Matrix-Tastatur an den Arduino anzuschließen. Für die Verbindung benötigen Sie:
- Arduino (jedes Modell).
- Matrix-Tastatur (normalerweise 4x4 oder 3x4).
- Kabel für den Anschluss.
Befolgen Sie die folgenden Schritte, um eine Tastatur mit einem Arduino zu verbinden:
- Verbinden Sie die Tastaturpins mithilfe von Kabeln mit den Arduino-Pins. Normalerweise sind 8 Pins auf der Tastatur vorhanden, die in 4 Zeilen und 4 Spalten unterteilt sind. Dementsprechend benötigen Sie 8 Arduino-Pins, um eine Verbindung herzustellen.
- Schließen Sie die VCC (Stromversorgung) der Tastatur an den 5V-Pin des Arduino an.
- Schließen Sie die GND (Masse) der Tastatur an den GND-Pin des Arduino an.
Nachdem Sie die Tastatur richtig mit dem Arduino verbunden haben, können Sie mit der Entwicklung von Code beginnen. Im nächsten Abschnitt werden wir die grundlegenden Codebeispiele für die Arbeit mit einer Matrix-Tastatur auf einem Arduino untersuchen.
Die Arduino-Matrix-Tastatur verstehen: Pinbelegung und Funktionsprinzip
Das Grundprinzip einer Matrix-Tastatur besteht darin, dass die Tasten der Tastatur in Form einer Matrix angeordnet sind, wobei jede Taste ihre eigenen eindeutigen Koordinaten hat - eine Zeile und eine Spalte. Wenn Sie auf die Schaltfläche klicken, werden die entsprechenden Zeilen und Spalten geschlossen, sodass Sie feststellen können, welche Schaltfläche angeklickt wurde. Der Arduino kann den Status jeder Zeile und jeder Spalte lesen und bestimmen, auf welche Schaltfläche geklickt wurde.
Um mit einer Matrix-Tastatur auf einem Arduino zu arbeiten, benötigen wir fünf Pins. Zwei Pins werden verwendet, um die Zeilen zu steuern (Strobe) und drei Pins, um den Status der Spalten zu lesen. Die Anzahl der Zeilen und Spalten wird durch die jeweilige Tastatur bestimmt.
Die Pinbelegung der Matrixtastatur kann je nach Hersteller unterschiedlich sein, die Tastaturen haben jedoch in den meisten Fällen eine Pinbelegung. Wenn wir zum Beispiel eine 4x4-Matrix-Tastatur haben, wird sie 4 Zeilen und 4 Spalten enthalten.
Beispiel für die Pinbelegung einer 4x4-Matrixtastatur:
Tore (Pins, die mit Arduino-Pins verbunden sind):
Spalten (Pins, die von Arduino-Pins gelesen werden):
Spalte 1 - Pin 6
Spalte 2 - Pin 7
Spalte 3 - Pin 8
Spalte 4 - Pin 9
In diesem Beispiel sind die Zeilen mit Pins 2-5 und die Spalten mit Pins 6-9 verbunden. Wenn festgestellt werden muss, welche Schaltfläche gedrückt wird, setzen wir zuerst die Spannung auf eine der Zeilen und lesen dann den Status aller Spalten aus. Dann wechseln wir zur nächsten Zeile und wiederholen den Vorgang für jede Zeile.
Die offizielle Arduino-Bibliothek enthält keine spezielle Funktion für die Arbeit mit Matrixtastaturen, aber ihre Verwendung ist keine schwierige Aufgabe. Sie müssen bestimmen, welche Schaltflächen mit bestimmten Zeilen und Spalten übereinstimmen, und Arduino so konfigurieren, dass der Status der Schaltflächen gelesen und analysiert wird.
Pinbelegung der Tastatur und Beschreibung der Signalleitungen
Um eine Arduino-Matrixtastatur zu verwenden, müssen Sie sie an die Anschlüsse der Platine anschließen. Die Pinbelegung der Tastatur kann je nach Modell variieren, besteht jedoch normalerweise aus zwei Reihen von Signalkabeln und zwei Reihen von gemeinsamen Erdkabeln.
Signaldrähte werden verwendet, um Informationen über Tastenanschläge zu senden, und gemeinsame Erddrähte werden verwendet, um Schaltkreise zu schließen, wenn Tasten gedrückt werden. Die gemeinsame Masse verbindet sich mit allen Drähten der Tastaturmatrix, und die Signalleitungen sind mit den Beinen des Arduino verbunden.
Die Anordnung der Drähte auf der Tastatur wird normalerweise mit Buchstaben und Zahlen von A0 bis F6 bezeichnet. Ein Beispiel für die Anordnung von Drähten könnte folgendermaßen aussehen:
A1 A2 A3 A4 A5 A6F0 [ # 9 5 1 0 RD ]F1 [ pb 8 4 3 2 rw ]F2 [ op 7 6 125 c= ]F3 [ 10 11 12 13 14]F4 [ = 16 15 14 13 12]F5 [ 0 18 17 16 15 14]F6 [ + 19 18 17 16 15]
Mit einer solchen Pinbelegung müssen Sie die Signalkabel an die entsprechenden Arduino-Füße und die Erdkabel an den Erdfüßen der Platine anschließen. Außerdem sollten Sie sicherstellen, dass sich kein Draht mit anderen Matrixdrähten schneidet, um einen Kurzschluss oder eine fehlerhafte Betätigung der Tasten zu vermeiden.
Nachdem die Tastatur richtig mit dem Arduino verbunden ist, können Sie mit dem Schreiben von Code beginnen, um die Tastatureingaben zu verarbeiten und die gewünschte Funktionalität zu implementieren.
Funktionsweise der Matrixtastatur und Methoden zum Lesen von Tastenanschlägen
Die Funktionsweise einer Matrixtastatur basiert auf der Beziehung zwischen Zeilen und Spalten. Wenn Sie nicht gedrückt werden, sind alle Zeilen über einen Widerstand geerdet und die Spalten sind mit den Pins des Mikrocontrollers verbunden. Wenn der Benutzer auf eine Schaltfläche klickt, wird die entsprechende Spalte auf die gewünschte Zeile geschlossen.
Sie können die Tasten auf der Matrixtastatur auf verschiedene Arten lesen. Eine der gebräuchlichsten Methoden ist das sequenzielle Lesen. Dabei wird zuerst die erste Spalte überprüft: Der Mikrocontroller überprüft alle Zeilen, um zu überprüfen, ob ein Klick vorliegt. Dieser Vorgang wird dann für alle Spalten wiederholt, um alle Tasten der Tastatur zu scannen.
Eine andere Möglichkeit zum Lesen von Klicks ist die Verwendung von Interrupts. Bei dieser Methode sendet der Mikrocontroller ein Unterbrechungssignal aus, wenn eine Taste auf der Tastatur gedrückt oder losgelassen wird. Dadurch können Sie feststellen, welche Taste gedrückt oder losgelassen wurde, ohne dass Sie alle Tasten scannen müssen.
Wenn Sie mit einer Matrix-Tastatur in einem Arduino arbeiten, müssen Sie Pull-up-Resistors oder Pull-Down-Resistors verwenden, um einen stabilen Betrieb zu gewährleisten. Die Pull-Up-Widerstände sind zwischen jeder Spalte und der Stromversorgung verbunden, und die Pull-Up-Widerstände sind zwischen jeder Spalte und dem Boden verbunden. Dies verhindert unerwünschte Effekte, wie z. B. Kontaktknall, wenn Sie eine Taste drücken.
Mit diesen Push-Lesetechniken können Sie effektiv mit einer Matrix-Tastatur auf einem Arduino arbeiten und verschiedene Projekte erstellen, die eine Eingabe über die Tastatur erfordern.
Codebeispiele für die Arbeit mit der Arduino-Matrix-Tastatur
#include const byte ROW_NUM = 4;const byte COLUMN_NUM = 4;char keys[ROW_NUM][COLUMN_NUM] = ,,,>;byte pin_rows[ROW_NUM] = ;byte pin_column[COLUMN_NUM] = ;Keypad keypad = Keypad(makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM);void setup()void loop()>
Mit dieser Bibliothek können Sie Tastatureingaben einfach von der Matrixtastatur aus lesen. Der obige Code definiert Werte, die den Zeichen auf der Taste entsprechen. Die Tasten werden in einem zweidimensionalen keys-Array dargestellt, und die Pins, mit denen die Zeilen und Spalten der Matrix verbunden sind, werden in den Arrays pin_rows bzw. pin_columns angegeben.
In der loop() -Funktion wird die Tastatur mit der getKey() -Funktion abgefragt, die das Symbol der gedrückten Taste zurückgibt. Wenn Sie eine Taste gedrückt haben, wird das Symbol im seriellen Anschlussmonitor angezeigt.
Neben der Keypad-Bibliothek gibt es auch andere Bibliotheken für die Arbeit mit der Matrixtastatur, z. B. Adafruit_Trellis. Hier ist ein Codebeispiel, das die Verwendung dieser Bibliothek veranschaulicht:
#include #include #define NUM_TRELLIS 1Adafruit_Trellis trellis = Adafruit_Trellis();void setup() void loop()
Dieses Codebeispiel veranschaulicht die Verwendung der Bibliothek Adafruit_Trellis zum Arbeiten mit einer Matrixtastatur. Der Code initialisiert das Trellis-Objekt mit dem Befehl trellis.begin(0x70), das die I2C-Adresse des Busses angibt, auf dem sich die Tastatur befindet. In der loop() -Funktion wird dann der Tastenanschlag abgefragt. Wenn Sie die Taste gerade gedrückt oder losgelassen haben, wird eine entsprechende Meldung im seriellen Anschlussmonitor angezeigt.
Mit diesen Codebeispielen können Sie ganz einfach mit der Matrixtastatur auf dem Arduino beginnen und Ihre eigenen Projekte erstellen.