Arduino 3 Wire Matrix-Tastatur - Gunook

Arduino 3 Wire Matrix-Tastatur - Gunook

Inhaltsverzeichnis:

Anonim

Tastatur mit nur 3 Drähten an Arduino angeschlossen.

Hintergrund:

Eine Matrixtastatur kann an eine Arduino-Karte angeschlossen werden, so dass der Benutzer numerische Daten eingeben kann.

Anleitungen dazu finden Sie in verschiedenen Foren. Das Hauptproblem ist, dass dies normalerweise insgesamt 7 Ihrer digitalen Eingangs- / Ausgangspins belegt.

Das Problem:

Für mich ist dies ein großes Problem, da ich möchte, dass diese Pins externe Geräte wie Magnetventile und Aktuatoren steuern können. Ich brauche auch einige, um Daten an ein serielles LCD-Display zu senden.

Optionen sind entweder

a) Verwenden Sie einen Arduino Mega mit viel mehr Stiften oder

b) Finden Sie eine Möglichkeit, eine Tastatur mit weniger Eingangsstiften anzuschließen.

Lösung:

Durch die Verwendung EINES einzelnen analogen Eingangsstifts und eines Widerstandsgitters können die Tasten auf der Tastatur so verdrahtet werden, dass bei jedem Drücken eine andere Spannung an den analogen Eingangsstift gesendet wird.

Obwohl es mühsam ist, alle Widerstände zu verdrahten, besteht der große Vorteil darin, dass alle Ihre digitalen Stifte für andere Zwecke frei bleiben.

Dies wurde bereits in AVR-Foren beschrieben, aber ich habe es für Arduino angepasst und Code geschrieben, damit Sie loslegen können.

Zubehör:

Schritt 1: Identifizieren Sie die Tastenfeldstifte

Auf der Basis der Tastatur befinden sich 7 Lötanschlüsse.

Die Tastatur hat 3 "Spalten" und 4 "Zeilen" - siehe Foto.

Der erste Schritt besteht darin, herauszufinden, welcher Lötanschluss jede Zeile und welche Spalte darstellt. Schreiben Sie alles auf, wie Sie gehen, sehr einfach, alles zu mischen.

Dies wurde beschrieben und Sie müssen den Anweisungen in diesem Arduino-Tastatur-Tutorial folgen:

www.arduino.cc/playground/Main/KeypadTutorial

Schritt 2: Verdrahten der Widerstände

Das nächste ist, die Matrix der Widerstände zu verdrahten.

Wie Sie sehen, gibt es einen einzelnen Draht zum analogen Eingang Pin 0 auf dem Arduino sowie eine Verbindung zu +5 V auf dem Arduino und einen zu GND (Masse). Insgesamt 3 Drähte.

Nachdem Sie Ihre Zeilen- und Spaltendrähte ausgearbeitet haben, müssen Sie diesem Diagramm folgen.

Ich benutze Flachbandkabel, da es die Dinge (relativ) ordentlich macht.

Der winzige Kondensator verhindert, dass in den Drähten induzierte Störungen als Spannung an den Analogeingang übertragen werden und zu Fehlern führen.

Schritt 3: Testen Sie es!

Wenn Sie die erste Arduino-Skizze auf der Titelseite dieses Instructable herunterladen, die ebenfalls dieser Seite beigefügt ist, erhalten Sie eine einfache Routine, die den Wert anzeigt, der vom analogen Pin 0 (auf einer Skala von 0 - 1023) für 0 "gelesen" wird - 5 V im Serial Viewer-Fenster Ihres PCs, das Sie auf 9600 Baud einstellen müssen.

Abhängig von den Toleranzen der Widerstände kann es zu geringfügigen Abweichungen kommen, die Werte sollten jedoch in etwa denen entsprechen, die ich erhalten habe.

Schritt 4: Schreiben Sie Software, um Ihr Kepad zu lesen

Wenn Sie die zweite Arduino-Skizze auf der Titelseite dieses Instructable herunterladen, die ebenfalls dieser Seite beigefügt ist, erhalten Sie eine Vorstellung davon, wie Sie Code schreiben, um die Tastatur zu lesen und nützliche Dinge mit den erhaltenen Werten zu tun.

Wenn Sie in diesem Beispiel eine Taste drücken, wird der Wert auf jeder Taste im Serial Viewer-Fenster (d. H. 0 - 9) auf Ihrem PC angezeigt.

Sie können sehen, dass es einen Code geben muss, der den Wert annimmt, und warten, bis Sie die Taste loslassen, bevor Sie fortfahren, um zu verhindern, dass eine ganze Sequenz mit demselben Wert angezeigt wird.

Der Code ist ein bisschen klobig, aber es funktioniert. Sie müssen dies für Ihre eigenen Anwendungen anpassen, aber es sollte Ihnen den Einstieg erleichtern.

Die Variable "keypressed" ist der Wert 0 - 9, den Sie dann im Rest Ihres Programms verwenden können.

Habe Spaß.