Arduino UNO Q - Tastaturfeld 3x4
Möchten Sie ein 12-Tasten-Membrantastaturfeld zu Ihrem Arduino UNO Q-Projekt hinzufügen? In diesem Tutorial lernen Sie, wie Sie Tastaturdrücke lesen und ein Passwortüberprüfungssystem erstellen — und erhalten sogar Telegram-Benachrichtigungen, wenn Tasten gedrückt werden.
In diesem Tutorial lernen Sie:
- Was ein 3x4-Tastaturfeld ist und wie es funktioniert
- Wie Sie das 3x4-Tastaturfeld mit Arduino UNO Q verdrahten
- Wie Sie den MCU (C/C++ Arduino-Code) programmieren, um Tastaturdrücke zu erkennen
- Wie Sie ein auf dem Tastaturfeld eingegebenes Passwort überprüfen
- Wie Sie sowohl die Linux-Seite (Python) als auch die MCU-Seite (C/C++) programmieren, um das Tastaturfeld über Bridge zu lesen
- Wie Sie Telegram-Benachrichtigungen senden, wenn eine Taste auf dem Arduino UNO Q gedrückt wird
- Wie Sie OpenClaw auf Arduino UNO Q mit dem 3x4-Tastaturfeld verwenden

Hardware erforderlich
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über das 3x4-Tastaturfeld
Ein 3x4-Tastaturfeld hat 12 Membrantasten, die in 4 Reihen und 3 Spalten angeordnet sind — ein standardmäßiges Telefonlayout mit den Tasten 1–9, *, 0 und #.
Pinbelegung
Ein 3x4-Tastaturfeld hat 7 Pins, aufgeteilt in Reihen und Spalten:
- 4 Pins für Reihen: R1, R2, R3, R4
- 3 Pins für Spalten: C1, C2, C3

Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| Tastaturfeld Pin | Arduino UNO Q MCU |
|---|---|
| R1 (Reihe 1) | D9 |
| R2 (Reihe 2) | D8 |
| R3 (Reihe 3) | D7 |
| R4 (Reihe 4) | D6 |
| C1 (Spalte 1) | D5 |
| C2 (Spalte 2) | D4 |
| C3 (Spalte 3) | D3 |
Arduino UNO Q Code
Der Arduino UNO Q hat zwei Prozessoren, die zusammenarbeiten:
- Der STM32 MCU liest die Tastaturfeldmatrix direkt mit der DIYables_Keypad-Bibliothek
- Der Qualcomm MPU führt Debian Linux aus und verwaltet Wi-Fi, Python und Cloud-Konnektivität
- In diesem Abschnitt wird nur der MCU programmiert — die Linux-Seite bleibt inaktiv. Ein späterer Abschnitt zeigt, wie beide Prozessoren über Bridge zusammenarbeiten.
Schnelle Schritte
Erstes Mal mit Arduino UNO Q? Folgen Sie dem Tutorial Erste Schritte mit Arduino UNO Q, um Ihre Entwicklungsumgebung vorzubereiten, bevor Sie fortfahren.
- Verbinden: Verdrahten Sie das 3x4-Tastaturfeld mit dem Arduino UNO Q MCU, wie im Verdrahtungsdiagramm oben gezeigt.
- Arduino App Lab öffnen: Starten Sie Arduino App Lab und warten Sie, bis es Ihren Arduino UNO Q erkennt.
- Neue App erstellen: Klicken Sie auf die Schaltfläche App erstellen.

- Geben Sie der App einen Namen, z. B.: Keypad3x4
- Klicken Sie auf Erstellen, um zu bestätigen.

- Sketch einfügen: Kopieren Sie den MCU-Code oben und fügen Sie ihn in sketch/sketch.ino ein. Behalten Sie andere Dateien standardmäßig bei.
- Install the library: Click the Add sketch library button (the open book icon with a + sign) in the left sidebar.

- Search for DIYables_Keypad created by DIYables.io and click the Install button.
- Hochladen: Klicken Sie auf die Schaltfläche Ausführen in Arduino App Lab.

- Öffnen Sie den Serial Monitor und drücken Sie Tasten auf dem Tastaturfeld. Sie sehen jeden Tasten gedruckt.
Tastaturfeld und Passwort
Ein häufiger Einsatz eines 3x4-Tastaturfelds ist die Eingabe eines Passworts. Zwei spezielle Tasten werden verwendet:
- * — löscht die aktuelle Eingabe und startet von vorne
- # — bestätigt den Eintrag und überprüft das Passwort
Alle anderen Tasten bauen den Passwort-String nacheinander auf.
Die Logik:
- Beliebige Zifferntaste drücken → an den Eingabepuffer anhängen
- * drücken → Eingabepuffer löschen
- # drücken → Eingabe mit dem gespeicherten Passwort vergleichen, dann den Puffer löschen
※ Notiz:
Ändern Sie die password-Variable auf Ihr gewünschtes Passwort, bevor Sie hochladen.
Bridge: Linux + MCU
Dieser Abschnitt zeigt, wie Sie beide Prozessoren des Arduino UNO Q programmieren, damit die Linux-Seite Tastaturdrücke ferngesteuert lesen kann:
- Das 3x4-Tastaturfeld ist mit dem MCU (STM32) verbunden — der MCU fragt es über keypad.getKey() in loop() ab
- Der MPU kann Tastaturfeld-Pins nicht direkt lesen — er muss die zuletzt gedrückte Taste über Bridge.call() vom MCU anfordern
- Der MPU hat Wi-Fi — mit vollständigem Debian Linux kann er auf Tasten reagieren und Warnungen über das Internet senden
- Arduino_RouterBridge ermöglicht RPC-Kommunikation zwischen den beiden Prozessoren
- ⚠️ /dev/ttyHS1 (Linux) und Serial1 (MCU) sind RESERVIERT vom Router — öffnen Sie sie niemals in Benutzercode
Kurz gesagt: MCU fragt das Tastaturfeld ab → MPU liest die zuletzt gedrückte Taste über Bridge → MPU kann über das Internet auf Tasten reagieren.
Hinweis: Im Bridge-Sketch wird keypad.getKey() in der Arduino loop()-Funktion aufgerufen, um Tastaturdrücke kontinuierlich zu erkennen — dies ist erforderlich und beeinträchtigt die Bridge-Kommunikation nicht.
MCU-Code (Bridge)
Python-Code (Bridge)
Schnelle Schritte
- Verbinden: Verdrahten Sie das 3x4-Tastaturfeld mit dem Arduino UNO Q, wie im Verdrahtungsdiagramm gezeigt.
- Arduino App Lab öffnen: Starten Sie Arduino App Lab und warten Sie auf die Erkennung des Boards.
- Neue App erstellen: Klicken Sie auf App erstellen, benennen Sie sie Keypad3x4Bridge, und klicken Sie auf Erstellen.
- MCU-Sketch einfügen: Kopieren Sie den MCU Bridge-Code oben und fügen Sie ihn in sketch/sketch.ino ein.
- Python-Code einfügen: Kopieren Sie den Python Bridge-Code oben und fügen Sie ihn in die Python-Datei der App ein.
- Hochladen: Klicken Sie auf die Schaltfläche Ausführen in Arduino App Lab.

- Drücken Sie Tasten auf dem Tastaturfeld und beobachten Sie die Python-Konsole.
App Lab-Konsolenausgabe
Telegram
Erhalten Sie Telegram-Benachrichtigungen, wenn eine Taste auf dem 3x4-Tastaturfeld gedrückt wird — nützlich für Remote-Zugriffssysteme, Ereignisauslöser oder PIN-Code-Warnungen.
MCU-Sketch: Behalten Sie denselben MCU-Sketch aus dem vorherigen Bridge-Abschnitt bei.
Python-Code (Telegram)
Schnelle Schritte
- Ersetzen Sie YOUR_TELEGRAM_BOT_TOKEN durch Ihren tatsächlichen Bot-Token von BotFather.
- Ersetzen Sie YOUR_CHAT_ID durch Ihre Telegram-Chat-ID.
- Fügen Sie diesen Python-Code in die Python-Datei Ihrer App ein (behalten Sie denselben MCU-Sketch).
- Klicken Sie auf die Schaltfläche Ausführen. Drücken Sie Tasten auf dem Tastaturfeld — Ihr Telegram-Chat erhält automatisch Benachrichtigungen.
App Lab-Konsolenausgabe
ArduinoBot
OpenClaw
You can adapt the OpenClaw to this tutorial by refering the instruction on Arduino Uno Q - OpenClaw Tutorial
Projektideen
Sie können viele kreative Projekte mit dem 3x4-Tastaturfeld und Arduino UNO Q erstellen:
- Remote-PIN-Code-Schloss: Benutzer geben einen PIN auf dem Tastaturfeld ein; der MCU validiert ihn und steuert ein Relais oder Magnetschloss, während der MPU eine Telegram-Benachrichtigung bei Erfolg oder Fehler sendet
- Smart Number Entry: Verwenden Sie das Tastaturfeld, um mehrstellige Nummern einzugeben (z. B. einen Temperatur-Sollwert oder eine Timer-Dauer) und senden Sie sie über Bridge an den Linux MPU zur Verarbeitung
- Telegram-ausgelöster Tastaturfeld-Validator: Python empfängt einen Telegram-Befehl /check, ruft get_key über Bridge auf und antwortet mit der Taste, die zuletzt auf dem physischen Tastaturfeld gedrückt wurde
- Menügesteuert Kontrollsystem: Verwenden Sie die Tasten 1–9, um Aktionen auszuwählen, und # zur Bestätigung — Python interpretiert die Auswahl und löst IoT-Aktionen aus, wie das Umschalten von Relais oder das Senden von HTTP-Anfragen
- Remote-Zugriffscode-Logger: Alle Tastaturdrücke werden automatisch an Telegram weitergeleitet; ein Sicherheitsskript auf dem MPU erkennt wiederholte falsche Versuche und sendet eine Warnung
Fordern Sie sich selbst heraus
Bereit, noch weiter mit dem 3x4-Tastaturfeld auf Arduino UNO Q zu gehen? Versuchen Sie diese Herausforderungen:
- Einfach: Ändern Sie den MCU-Sketch, um eine LED, die mit D2 verbunden ist, jedes Mal zu aktivieren, wenn # gedrückt wird.
- Mittel: Implementieren Sie ein vollständiges Passwort-System in Python: Akkumulieren Sie empfangene Tastaturdrücke über Bridge in einen String, überprüfen Sie diesen gegen ein gespeichertes Passwort, wenn # ankommt, und senden Sie eine Telegram-Nachricht, die Erfolg oder Misserfolg anzeigt.
- Fortgeschrittene: Erstellen Sie ein Telegram-integriertes Zugriffskontrollsystem — ein 4-stelliger PIN wird physisch auf dem Tastaturfeld eingegeben; wenn er korrekt ist, aktiviert der MCU ein Relais (Türschloss); der MPU protokolliert jeden Versuch und sendet eine Telegram-Benachrichtigung mit dem Ergebnis und einem Zeitstempel.