Hallo, die Einwohner von Habr! Heute habe ich beschlossen, eine komplette Tastaturführung für das Arduino zu erstellen.
Achtung! Der Artikel richtet sich hauptsächlich an Anfänger!In vielen Projekten muss die Möglichkeit der Benutzereingabe geschaffen werden. Wenn Sie eine große Anzahl von Schaltflächen (relativ) implementieren müssen, wird das separate Verbinden sowohl lang als auch irrational. Zu diesem Zweck ist es besser, eine Tastatur zu wählen, aber wie bei jeder Wahl müssen Sie sich dieser bewusst nähern. Welche Arten von Tastaturen gibt es und wie kann man mit ihnen interagieren?
Weltweit können alle Module dieses Typs in zwei große Kategorien unterteilt werden:
Matrix und
Analog .
Matrixtastaturen
Der einfachste, billigste und beliebteste Tastaturtyp. Es ist relativ einfach herzustellen und füllt den größten Teil des Marktes für Arduino-Module. Am häufigsten sieht es so aus:


Arbeitsprinzip
Sie können die Funktionsweise dieser Tastatur anhand des folgenden Diagramms verstehen:

Um zu verstehen, welche Taste gedrückt wurde, müssen Sie ein Signal an die ersten vier Kontakte des Moduls anlegen und beobachten, welches Signal vom zweiten zurückkehrt. Aber keine Angst, dass Sie Verarbeitungsalgorithmen für acht Pins manuell schreiben müssen - die vorgefertigte Bibliothek „keypad.h“ hilft uns dabei, dank derer wir das Rad nicht neu erfinden müssen.
Platinenanschluss
Modul selbst anschließen
In diesem Artikel werde ich das folgende Verbindungsdiagramm verwenden:

Sie haben wahrscheinlich eine Frage: "Warum habe ich mich entschieden, Stifte vom zweiten bis zum neunten zu verwenden und die Null und den ersten zu überspringen?" - Tatsache ist, dass einige Module sie als Empfangs- und Sendekanäle zum Empfangen bzw. Senden von Daten verwenden. Zum Beispiel ein Bluetooth-Modul. Unter Berücksichtigung der möglichen Hinzufügung des Projekts zu anderen Modulen wurde daher beschlossen, diese Verbindungsstifte frei zu lassen.
Skizzieren schreiben
Um die Bibliothek zum Verbinden von Tastaturen im Code verwenden zu können, müssen Sie sie zunächst auf Ihrem Gerät installieren. Dies kann wie folgt erfolgen: Klicken Sie in der Arduino IDE selbst auf
Skizze -> Bibliothek verbinden -> Bibliotheken verwalten ... oder verwenden Sie die Tastenkombination "Strg + Umschalt + I". Klicken Sie im Suchlaufwerk auf "keypad.h" (ohne Klammern) auf "Installation".
Fahren Sie nach der Installation mit dem Schreiben der Skizze fort:
#include <Keypad.h> // const byte ROWS = 4; // const byte COLS = 4; // char hexaKeys[ROWS][COLS] = {// , , {'1','4','7','*'}, {'2','5','8','0'}, {'3','6','9','#'}, {'A','B','C','D'} }; byte rowPins[ROWS] = {5, 4, 3, 2}; // byte colPins[COLS] = {9, 8, 7, 6}; // // : Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); void setup(){ Serial.begin(9600);// } void loop(){ char customKey = customKeypad.getKey();// if (customKey){// - Serial.println(customKey);// } }
Vorteile und Nachteile
Nachteile
- Für die Arbeit müssen zu viele Stifte angeschlossen werden. Dies ist ein großes Problem, wenn Sie keinen Taschenrechner oder ein Zahlenschloss erstellen, sondern ein größeres Projekt, in dem Sie immer noch eine große Anzahl verschiedener Module verwenden müssen - möglicherweise haben sie einfach nicht genügend Pins.
- Die Modulausführungsqualität ist zu niedrig: Niemand garantiert ein konstant stabiles Signal. Die Originaltastaturen werden nicht auf einem sehr hohen Niveau hergestellt. Wenn Sie überhaupt eine Bestellung bei Aliexpress aufgegeben haben, müssen Sie höchstwahrscheinlich die Pfosten der chinesischen Ingenieure mit einem Lötkolben reparieren, um einen stabilen Betrieb zu erreichen.
- Es wird eine zusätzliche Bibliothek verwendet, die auch den Speicher des Mikrocontrollers belegt, von dem er bereits nicht viel hat. Wenn Sie ein großes Projekt mit vielen Funktionen und Berechnungen schreiben und Daten manuell von der Tastatur lesen oder eine analoge Tastatur verwenden müssen, wird jedes Byte im Konto angezeigt.
Vorteile
- Niedriger Preis
- Leicht zu finden im Verkauf
Analoge Tastaturen
Arbeitsprinzip
Bei analogen Tastaturen werden Widerstände verwendet, um den Spannungspegel zu ändern, und das Signal geht über einen Kanal, der tatsächlich mit dem analogen Pin auf der Platine verbunden ist. Wie alles angeordnet ist, lässt sich anhand des folgenden Diagramms verstehen:

Platinenanschluss
Die Verbindung ist sehr einfach, kann jedoch je nach Tastatur variieren. In diesem Artikel werde ich ein Beispiel für die Verwendung
dieser chinesischen analogen Tastatur mit Ali betrachten.
Also: Wir verbinden den Analogausgang der Tastatur mit einem beliebigen Analog-Pin auf der Platine, verbinden den VCC-Pin auf der Platine mit 3,3 V (siehe die Beschriftung auf der Tastatur mit der Aufschrift 5 V - dies ist ein Fehler) und GND auf der Platine mit GND auf dem Modul. Sie können das folgende Schema verwenden:

Skizzieren schreiben
Es ist nicht erforderlich, Bibliotheken von Drittanbietern zu verwenden Alles ist sehr einfach und klar. Hier ist der Code selbst, der die gedrückte Taste liest und ihre Nummer von 1 bis 16 (von links nach rechts, von oben nach unten) oder 0, wenn nichts gedrückt wird, auf dem Portmonitor anzeigt.
unsigned const short int KEYPAD_PIN = 0;
Vorteile und Nachteile
Vorteile
- Sehr einfache Verbindung
- Nur ein Stift
- Spart Speicher, den Sie nicht in der Bibliothek ausgeben
- Bietet einen stabilen Betrieb (vorausgesetzt, Sie drücken nicht mehr als eine Taste gleichzeitig)
Nachteile
- Teurer als Matrixtastaturen
- Die einzige Möglichkeit zum Kauf besteht wahrscheinlich darin, aus China zu bestellen, und die Lieferung wird einige Zeit dauern
Zusammenfassung
Persönlich empfehle ich die Verwendung von analogen Tastaturen, da diese häufig von höchster Qualität sind und der Anschluss einfach und unkompliziert ist. Die Hauptsache ist, auf die Wertetabelle der vom Hersteller bereitgestellten gedrückten Tasten zu achten. Wenn keine vorhanden sind, können Sie diese Messungen selbst durchführen, indem Sie die Werte vom analogen Anschluss im Anschlussmonitor anzeigen und sie dann im Code verwenden. Aber Sie haben immer die Wahl: Verwenden Sie die Standardoption "Billig" oder zahlen Sie zu viel, um in bestimmten Situationen erhebliche Vorteile zu erzielen.
Das ist alles für mich. Hinterlassen Sie Ihre Fragen in den Kommentaren, schreiben Sie Ihre Meinung und wir treffen uns auf Freiflächen von Habr!