Tastatur Abfrage

Von | 18. Mai 2020

Es gibt verschiedene Steuerungsaufgaben, bei denen es vorteilhaft ist, wenn Werte über eine Tastatur eingegeben werden können, diese parallel dazu anzuzeigen und natürlich die eingegebenen Werte auch weiter zu verarbeiten. Ein sehr anschauliches Beispiel ist die Eingabe eines Codes, man könnte sich aber genauso vorstellen, Werte einzugeben, um damit eine Flüssigkeitsmenge abzufüllen oder ähnliche Aufgaben, alles wo eben eine Interaktion mit dem Benutzer gewünscht ist.

Ich habe mir ein kleines Laborbrett gebaut (siehe Abbildung), das neben einer Spannungsversorgung, ein LCD-Display, ein Drehstellgeber, ein Potentiometer und eine 4 x 3 Nummerntastatur enthält. Ich verwende es gerne zum Aufbau von Prototypen, bevor ich die Schaltung dann in eigene Gehäuse einbaue. Im folgenden Beitrag möchte ich erklären, wie Werte von der Tastatur eingelesen und ausgewertet werden können.

Code-Eingabe

Zur Abfrage der Tatstatur gibt es eine sehr gute Bibliothek, die verschiedene Funktionen zur Tasten-Abfrage bereitstellt. Wichtig ist es dabei, die Anzahl der Zeilen und Spalten in entsprechende Konstanten einzugeben und anschliessend die Tastenbezeichnungen in eine “Matrix” einzutragen.

Wenn diese Konfigurationsschritte erfolgt sind, müssen nur noch die Zeilen-Pins, und die Spalten-Pins spezifiziert werden. Dazu ist das Datenblatt der Tatstatur zu Rate zu ziehen, um die richtige Pin-Belegung zu verwenden. Ist all das erfolgt, kann mit

ein entsprechendes KeyPad-Objekt erzeugt werden, mit dessen Hilfe dann die einzelnen Tasten abgefragt werden können. Über eine Case-Funktion werden dann entsprechende Aktionen initiiert, in unserem Beispiel wird durch Eingabe der “*”-Taste der Einlesevorgang beispielsweise abgebrochen.

Da es sich bei den eingelesenen Werten um schlichte Zeichen handelt, müssen entsprechende Konvertierungs-Routinen geschrieben werden, wenn man beispielsweise Zahlenwerte einlesen möchte. Ich habe als Spielerei noch die Ton-Funktion eingebaut, so dass bei richtiger bzw. falscher Code-Eingabe auch ein akustisches Signal ausgegeben wird.

Im nachfolgend abgebildeten Programmcode können die einzelnen Schritte sicher leicht nachvollzogen werden und mit wenig Mühe entsprechend für eigene Projekte angepasst werden.

Einfaches Beispiel-Programm