Arduino UNO Q - Tastenfeld 1x4
Möchten Sie ein einfaches 4-Tasten-Tastenfeld zu Ihrem Arduino UNO Q-Projekt hinzufügen? In diesem Tutorial erfahren Sie, wie Sie Tastaturdrücke mit Entprellung erkennen und sogar Telegram-Benachrichtigungen senden, wenn eine Taste gedrückt wird.
In diesem Tutorial erfahren Sie:
- Was ein 1x4-Tastenfeld ist und wie es funktioniert
- Wie Sie das 1x4-Tastenfeld mit Arduino UNO Q verdrahten
- Wie Sie den MCU (C/C++ Arduino-Code) programmieren, um Tastaturdrücke mit Entprellung zu erkennen
- Wie Sie sowohl die Linux-Seite (Python) als auch die MCU-Seite (C/C++) programmieren, um das Tastenfeld über Bridge zu lesen
- Wie Sie Telegram-Benachrichtigungen senden, wenn eine Taste auf Arduino UNO Q gedrückt wird
- Wie Sie OpenClaw auf Arduino UNO Q mit dem 1x4-Tastenfeld verwenden

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über das 1x4-Tastenfeld
Ein 1x4-Tastenfeld hat vier Tasten, die in einer Reihe angeordnet sind. Es wird verwendet, um Codes einzugeben, Menüs zu navigieren oder Aktionen in verschiedenen Projekten auszulösen.
Pinbelegung
Das 1x4-Tastenfeld hat 5 Pins. Die Pin-Reihenfolge entspricht nicht der Tastaturreihenfolge auf dem Etikett:
- Pin 1 → Taste 2
- Pin 2 → Taste 1
- Pin 3 → Taste 4
- Pin 4 → Taste 3
- Pin 5 → Common (GND)

Verdrahtungsplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| Tastenfeld Pin | Arduino UNO Q MCU |
|---|---|
| Pin 1 (Taste 2) | D2 |
| Pin 2 (Taste 1) | D3 |
| Pin 3 (Taste 4) | D4 |
| Pin 4 (Taste 3) | D5 |
| Pin 5 (Common) | GND |
Arduino UNO Q Code
Der Arduino UNO Q hat zwei Prozessoren, die zusammenarbeiten:
- Der STM32 MCU liest die Tastenfeld-Pins direkt mit Entprellung über die ezButton-Bibliothek
- Die 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 untätig. Ein späterer Abschnitt zeigt, wie beide Prozessoren über Bridge zusammenarbeiten.
Jede Taste im 1x4-Tastenfeld funktioniert wie ein Knopf, der zwischen einem Pin und GND verbunden ist. Die ezButton-Bibliothek handhabt automatisch das Entprellen für alle vier Tasten.
Schnelle Schritte
Zum ersten 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 1x4-Tastenfeld mit dem Arduino UNO Q MCU wie im obigen Verdrahtungsplan dargestellt.
- Öffnen Sie Arduino App Lab: Starten Sie Arduino App Lab und warten Sie, bis das Arduino UNO Q erkannt wird – dies kann beim ersten Start mehrere Minuten dauern.
- Erstellen Sie eine neue App: Klicken Sie auf die Schaltfläche Neue App erstellen.

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

- Suchen Sie die Datei sketch/sketch.ino – hier werden Sie die MCU-Skizze einfügen.
- Install the library: Click the Add sketch library button (the open book icon with a + sign) in the left sidebar.

- Search for ezButton created by ArduinoGetStarted.com and click the Install button.
- Upload: Klicken Sie auf die Schaltfläche Ausführen in Arduino App Lab, um zum STM32 zu kompilieren und hochzuladen.

- Öffnen Sie den seriellen Monitor und drücken Sie jede Taste auf dem Tastenfeld. Sie sehen die Tastennummer gedruckt.
Bridge: Linux + MCU
In diesem Abschnitt wird gezeigt, wie Sie beide Prozessoren des Arduino UNO Q programmieren, damit die Linux-Seite Tastenfeld-Drücke remote lesen kann:
- Das 1x4-Tastenfeld ist mit dem MCU (STM32) verbunden – der MCU fragt jede Taste mit Entprellung in loop() ab
- Die MPU kann Tastenfeld-Pins nicht direkt lesen – sie muss die zuletzt gedrückte Taste vom MCU über Bridge.call() anfordern
- Die MPU hat Wi-Fi – sie führt ein vollständiges Debian Linux aus und kann auf Tastaturdrücke reagieren und Benachrichtigungen über das Internet senden
- Arduino_RouterBridge ermöglicht RPC-Kommunikation zwischen den beiden Prozessoren
- ⚠️ /dev/ttyHS1 (Linux) und Serial1 (MCU) sind RESERVIERT für den Router – öffnen Sie sie niemals in Benutzercode
Kurz gesagt: MCU fragt das Tastenfeld ab → MPU liest die letzte Taste über Bridge → MPU kann auf Tastaturdrücke von überall im Internet reagieren.
Hinweis: In der Bridge-Skizze wird die ezButton-Abfrageschleife in der Arduino-Funktion loop() platziert, um den Knopfzustand auf dem neuesten Stand zu halten – dies ist erforderlich und beeinträchtigt die Bridge-Kommunikation nicht.
MCU Code (Bridge)
Python Code (Bridge)
Schnelle Schritte
- Verbinden: Verdrahten Sie das 1x4-Tastenfeld mit Arduino UNO Q wie im Verdrahtungsplan dargestellt.
- Öffnen Sie Arduino App Lab: Starten Sie Arduino App Lab und warten Sie auf die Erkennung des Boards.
- Erstellen Sie eine neue App: Klicken Sie auf Neue App erstellen, benennen Sie sie Keypad1x4Bridge, und klicken Sie dann auf Erstellen.
- Fügen Sie die MCU-Skizze ein: Kopieren Sie den MCU-Bridge-Code oben und fügen Sie ihn in sketch/sketch.ino ein.
- Fügen Sie den Python-Code ein: Kopieren Sie den Python-Bridge-Code oben und fügen Sie ihn in die Python-Datei der App ein.
- Upload: Klicken Sie auf die Schaltfläche Ausführen in Arduino App Lab.

- Drücken Sie die Tasten auf dem Tastenfeld und beobachten Sie die Python-Konsole.
App Lab Konsolenausgabe
Telegram
Erhalten Sie Telegram-Benachrichtigungen, wenn eine Taste auf dem 1x4-Tastenfeld gedrückt wird – nützlich für Remote-Türklingeln, Zugriffscodes oder Ereignisauslöser.
MCU-Skizze: Behalten Sie die gleiche MCU-Skizze aus dem vorherigen Bridge-Abschnitt.
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 die gleiche MCU-Skizze).
- Klicken Sie auf die Schaltfläche Ausführen. Drücken Sie Tasten auf dem Tastenfeld – 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 1x4-Tastenfeld und Arduino UNO Q erstellen:
- Remote-Zugriffscode-Eingabe: Der Benutzer drückt eine 4-Tasten-Kombination auf dem Tastenfeld; die MPU empfängt die Sequenz über Bridge und validiert sie, sendet dann eine Telegram-Benachrichtigung bei Erfolg oder Fehler
- Menünavigationssystem: Verwenden Sie die Tasten 1–4, um ein Menü auf dem Serial Monitor oder der LCD-Anzeige zu navigieren – die MPU verfolgt die Auswahl und reagiert
- Event-Buzzer-System: Jede Taste im Tastenfeld löst eine andere Aktion aus (z. B. ein Relais einschalten, einen Summer ertönen lassen oder eine Telegram-Benachrichtigung senden)
- Einfacher Spielecontroller: Verwenden Sie das 1x4-Tastenfeld als direktionale Eingabe (links/rechts/oben/unten) in einem einfachen textbasierten Spiel auf der Linux-MPU
- Telegram-Türklingel: Drücken Sie Taste 1 im Tastenfeld, um eine Telegram-"Türklingel" zu aktivieren – die MPU sendet automatisch eine Benachrichtigung an das Mobiltelefon des Hausbesitzers
Fordern Sie sich selbst heraus
Bereit, mit dem 1x4-Tastenfeld auf Arduino UNO Q noch weiter zu gehen? Versuchen Sie diese Herausforderungen:
- Einfach: Ändern Sie die MCU-Skizze so ab, dass eine LED, die mit D6 verbunden ist, jedes Mal aufleuchtet, wenn eine Taste gedrückt wird.
- Mittel: Implementieren Sie ein 4-stelliges PIN-Code-System im MCU – das Drücken der Tasten 1-2-3-4 in Reihenfolge entsperrt ein Relais, während jede falsche Sequenz die Eingabe zurückgesetzt wird.
- Erweitert: Erstellen Sie ein Telegram-basiertes Remote-Tastenfeld: Verwenden Sie /key, um die zuletzt gedrückte Taste abzurufen, und erstellen Sie dann eine Zustandsmaschine in Python, die Tastensequenzen als Befehle interpretiert (z. B. 1-1-2 = "Lichter an", 2-1-1 = "Lichter aus").