Inhaltsverzeichnis:
- Schritt 1: So funktioniert die Tastatur
- Schritt 2: Physische Verbindungen
- Schritt 3: Wie Getkey() funktioniert
- Schritt 4: Getvalue(Ziffern)
Video: Verwenden einer 4x4-Tastatur mit CircuitPython - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:17
Diese kostengünstige Tastatur bietet eine einfache Methode der numerischen Eingabe für Ihre CircuitPython-Projekte. Ich werde es mit einem Adafruit ItsyBitsy M0 Express verwenden.
Du wirst brauchen:
- Tastatur - meine ist 4x4
- ItsyBitsy M0 Express oder ähnliches Board
- Mu Editor auf Ihrem Computer installiert
- USB-Kabel zum Flashen des Codes
Schritt 1: So funktioniert die Tastatur
Die Tastatur verfügt über 16 einfache, langsam wirkende Blasenschalter, die in einem 4 x-Raster mit 8 Anschlüssen an der Unterseite angeordnet sind. Wenn wir von links von 0 bis 7 nummerieren, werden die Anschlüsse 0 bis 3 mit jeder der Reihen verbunden. Anschluss 0 an die obere Reihe und Anschluss 3 an die untere Reihe. Die Anschlüsse 4 bis 7 sind mit den Säulen verbunden, wobei der Anschluss 4 an der linken Säule und der Anschluss 7 an die rechte Säule angeschlossen ist. Jeder der 16 Schalter stellt eine Verbindung zwischen einer anderen Zeilen-/Spaltenkombination her. Wenn wir die Taste 7 drücken, wird die dritte Zeile mit der linken Spalte verbunden. Wir können spüren, ob die Taste 5 gedrückt wird, wenn ihre Zeile auf HIGH erhöht ist, und wir können ein HIGH in ihrer Spalte lesen. Dazu geben wir OUTPUT in die Zeilen und INPUT aus den Spalten.
Wir müssen jede Zeile der Reihe nach auf HIGH setzen, während die anderen Zeilen auf LOW sind, jede Spalte nacheinander lesen, bis wir einen HIGH-Eingang erhalten. Dies ist mit verschachtelten for-Schleifen leicht zu handhaben.
Wir müssen die Tatsache berücksichtigen, dass diese Blasenschalter ziemlich langsam wirken und ziemlich stark gedrückt werden müssen, um sie zu schließen. Das Scannen aller 16 Schalter auf diese Weise kann sehr schnell erfolgen, aber wir müssen wiederholt scannen, um einen Tastendruck aufzunehmen. Wir müssen auch mit einer kurzen Zeitverzögerung "entprellen", damit sich die Tasten nicht jedes Mal wiederholen, wenn wir sie drücken.
Da die Schalter ziemlich "matschig" sind, benötigen wir eine Rückmeldung an den Benutzer, um anzuzeigen, dass ein Tastendruck gelesen wurde. Die eingebaute LED blinkt bei jedem Tastendruck.
Schritt 2: Physische Verbindungen
Anschlüsse von links nach rechts auf KeyPad0 1 2 3 4 5 6 7
D7 D9 D10 D11 A5 A4 A3 A2 auf ItsyBitsy
D7 bis D11 sind als OUTPUTs ausgelegt, während A5 bis A2 als INPUTs mit PULLDOWN eingerichtet sind.
Der Code hat viele Kommentare und sollte recht einfach zu folgen sein.
Schritt 3: Wie Getkey() funktioniert
Diese Funktion durchsucht die Tastatur nach einem einzigen Tastendruck. Er überprüft jeden der Schlüssel nacheinander maximal 10 Mal schnell, um zu sehen, ob ein Schlüsselschalter geschlossen ist. Wird eine Taste gedrückt, wird der Tastenwert von links nach rechts von oben nach unten gezählt (0 …15) Beachten Sie die Werte für die untere Reihe: 14, 0, 15, 13 (Hex E, 0, F, D). Wenn keine Taste gedrückt wurde, wird -999 als Fehlercode zurückgegeben, der im Hauptprogramm leicht abgelesen werden kann. Die eingebaute LED blinkt, wenn ein Tastendruck als Benutzerrückmeldung aufgenommen wird. Dies läuft ziemlich schnell und die Entprellungswartezeit von 0,2 Sekunden wird nur verwendet, wenn eine Taste gedrückt wird.
Schritt 4: Getvalue(Ziffern)
Diese Routine liefert einen n-stelligen Wert von den numerischen Tasten. Es ignoriert die roten Tasten.
Dieser Python-Code kann leicht konvertiert werden, um auf einem anderen Gerät, z. B. einem Raspberry Pi, ausgeführt zu werden. Sie müssen wahrscheinlich nur die Pin-Setup-Zeilen oben im Skript ändern.
Bitte lassen Sie es mich wissen, wenn Sie den Code nützlich finden.
Bleiben Sie gesund und haben Sie Spaß!
Empfohlen:
CDS mit SkiiiD verwenden: 9 Schritte
So verwenden Sie CDS mit SkiiiD: Ein Tutorial zum Entwickeln von CDS mit skiiiD
Max7219 8x8 Dot Matrix mit "skiiiD" verwenden: 9 Schritte
So verwenden Sie Max7219 8x8 Dot Matrix mit "skiiiD": Dies ist eine Videoanleitung von Max7219 8x8 Dot Matrix über "skiiiD". /Erste Schritte-W
So verwenden Sie den SG90-Servomotor mit "skiiiD": 9 Schritte
So verwenden Sie den SG90-Servomotor mit "skiiiD": Vor dem Start gibt es ein grundlegendes Tutorial zur Verwendung von skiiiD https://www.instructables.com/id/Getting-Started-With-SkiiiD-Editor
Gyrosensor MPU6050 mit "skiiiD" verwenden: 9 Schritte
So verwenden Sie den Gyrosensor MPU6050 mit "skiiiD": Tutorial zur Verwendung des Gyrosensor MPU6050-Moduls mit "skiiiD" Vor dem Start gibt es ein grundlegendes Tutorial zur Verwendung von skiiiD https://www.instructables.com/id/Getting-Started -W
So verwenden Sie Ultraschall HC-SR04 mit "skiiiD": 6 Schritte
So verwenden Sie Ultrasonic HC-SR04 mit "skiiiD": Tutorial zur Verwendung des Ultrasonic HC-SR04-Moduls mit "skiiiD". /Erste-Schritte-mit-SkiiiD-Editor