4x4 Tastenfeld mit Arduino ansteuern

Benötigte Komponenten

  • Arduino Board
  • USB-Kabel
  • 4x4 Keypad
  • 8 Jumperkabel

Technische Daten vom 4x4 Keypad

  • Maximaler Stromkreislauf: 35V DC, 30mA
  • Betriebstemperatur: -20 ~ +40°C
  • Anschlussart: 8 Pin
  • Gasamtlänge: 160 mm
  • Kabellänge (inkl. Anschlüsse): 88mm
  • Klebefläche auf der Rückseite
  • Abmessungen: 69x76mm, ca. 1mm hoch

Beschreibung

Tastenfelder oder Keypads eignen sich perfekt zur Dateneingabe oder Menü-Navigation in Projekten wie Sicherheitssysteme, Zugangskontrollen, Embedded Systems, Smart Home Steuerungen, Fernbedienungen und Robotern. Die Einsatzmöglichkeiten sind unbegrenzt, da die Tasten nicht unbedingt die aufgedruckten Zeichen ausgeben müssen, sondern mit Hilfe eines Arduinos oder Raspberry Pis frei programmiert werden können. Am beliebtesten sind Tastenfelder mit 4x3 oder 4x4 Tasten, die einer klassischen Telefontastatur ähneln.

Funktionsweise

Das numerische Tastenfeld besteht aus 16 Tasten, die in einer Matrix angeordnet sind, d. h. alle Tasten einer Spalte sind mit einem Eingang und alle Tasten einer Zeile mit einem anderen verbunden.

Wenn eine Taste gedrückt wird, wird der entsprechende Eingang der Zeile mit dem der Spalte verbunden, wodurch der Stromkreis geschlossen wird. Der Vorteil dieses Aufbaus ist, dass 16 Tasten mit nur 8 Eingängen des Mikrocontrollers angesteuert werden können.

Schaltplan

Schaltplan1

Schaltplan2

Anschlussplan

Membran-Keypad_Steckplatine

Keypad

Arduino

R1

Pin 9

R2

Pin 8

R3

Pin 7

R4

Pin 6

C1

Pin 5

C2

Pin 4

C3

Pin 3

C4

Pin 2

Code für Arduino

Zur Verwendung von diesem Beispielcode wird die Keypad.h Bibliothek benötigt.

Mit diesem Beispiel können Sie eine Taste drücken und die gedrückte Taste im seriellen Monitor der Arduino IDE auslesen. Code als Download.

#include "Arduino.h"
#include "Keypad.h"
const byte ROWS = 4; // vier Reihen
const byte COLS = 4; // vier Spalten
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {9,8,7,6}; // Pins fuer die Reihen
byte colPins[COLS] = {5,4,3,2}; // Pins fuer die Spalten
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup() {
Serial.begin(9600);
}
void loop() {
char key = keypad.getKey();
if (key != NO_KEY){
Serial.println(key);
}
}

Schlagworte: Arduino, Anleitung

Die mit einem * markierten Felder sind Pflichtfelder.