Arduino UNO Q - Tastatur und LCD
Möchten Sie auf einer Tastatur eingeben und die Zeichen auf einem LCD-Display mit Ihrem Arduino UNO Q angezeigt sehen? In diesem Tutorial erfahren Sie genau das — plus wie Sie die Anzeige remote über Telegram überwachen und löschen können.
In diesem Tutorial erfahren Sie:
- Wie Sie eine 3x4-Tastatur und ein LCD I2C-Display am Arduino UNO Q verdrahten
- Wie Sie den MCU programmieren (C/C++ Arduino-Code), um eingegebene Tasten auf dem LCD anzuzeigen
- Wie Sie sowohl die Linux-Seite (Python) als auch die MCU-Seite (C/C++) programmieren, um Tastatureingaben über Bridge zu überwachen
- Wie Sie Telegram-Benachrichtigungen erhalten, wenn ein Tastatureintrag am Arduino UNO Q bestätigt wird
- Wie Sie OpenClaw am Arduino UNO Q mit der Tastatur und dem LCD verwenden

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Kaufhinweis: Eine weitere Möglichkeit ist, das LCD I2C-Display zu erstellen, indem Sie LCD 1602 Display und PCF8574 I2C Adapter Module kombinieren.
Über die Tastatur und das LCD
Wenn Sie neu bei der 3x4-Tastatur oder dem I2C LCD-Display sind, lesen Sie zunächst diese Tutorials:
Schaltschema

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
3x4-Tastaturverbindungen:
| Tastaturpin | 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 |
LCD I2C-Verbindungen:
| LCD I2C Pin | Arduino UNO Q MCU |
|---|---|
| VCC | 5V |
| GND | GND |
| SDA | A4 |
| SCL | A5 |
Arduino UNO Q Code
Der Arduino UNO Q hat zwei Prozessoren, die zusammenarbeiten:
- Der STM32 MCU liest die Tastatur und steuert das LCD direkt — die gesamte Anzeigelogik und Eingabeverarbeitung läuft auf dem MCU
- 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.
Das Drücken einer Taste zeigt diese auf dem LCD an. Das Drücken von * löscht den Bildschirm.
Schnelle Schritte
Erstes Mal mit Arduino UNO Q? Folgen Sie dem Tutorial Erste Schritte mit Arduino UNO Q, um Ihre Entwicklungsumgebung vor dem Fortfahren vorzubereiten.
- Verbinden: Verdrahten Sie die 3x4-Tastatur und das LCD I2C mit dem Arduino UNO Q MCU wie im obigen Schaltschema 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 Create New App (Neue App erstellen).

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

- Sketch einfügen: Kopieren Sie den obigen MCU-Code und fügen Sie ihn in sketch/sketch.ino ein. Behalten Sie die anderen Dateien als Standardwerte 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.
- Search for DIYables LCD I2C created by DIYables.io and click the Install button.
- Upload: Klicken Sie auf die Run-Schaltfläche in Arduino App Lab.

- Drücken Sie Tasten auf der Tastatur — jedes Zeichen erscheint auf dem LCD. Drücken Sie * zum Löschen.
※ Notiz:
Wenn das LCD nichts anzeigt, überprüfen Sie Fehlerbehebung für LCD I2C für Hilfe.
Bridge: Linux + MCU
Dieser Abschnitt zeigt, wie Sie beide Prozessoren des Arduino UNO Q programmieren, sodass die Linux-Seite Tastatureingaben überwachen und das LCD remote löschen kann:
- Die 3x4-Tastatur und das LCD sind mit dem MCU (STM32) verbunden — der MCU verwaltet die gesamte Tastaturerkennung und Anzeigedarstellung
- Der MPU kann nicht direkt auf die Tastatur oder das LCD zugreifen — es muss Bridge-Funktionen aufrufen, um Eingaben zu lesen und die Anzeige zu steuern
- Der MPU hat Wi-Fi — auf vollständigem Debian Linux läuft es, um auf bestätigte Einträge zu reagieren und Benachrichtigungen über das Internet zu senden
- Arduino_RouterBridge ermöglicht RPC-Kommunikation zwischen den zwei Prozessoren
- ⚠️ /dev/ttyHS1 (Linux) und Serial1 (MCU) sind RESERVIERT vom Router — öffnen Sie sie niemals in Benutzercode
Kurz gesagt: MCU liest Tastatureingaben und zeigt sie auf LCD an → MPU überwacht Eingaben und bestätigte Einträge über Bridge → MPU kann reagieren und über das Internet überall hin benachrichtigen.
Hinweis: Im Bridge-Sketch wird keypad.getKey() innerhalb der Arduino loop() aufgerufen, um kontinuierlich Tastendrücke zu erkennen — das ist erforderlich und beeinträchtigt nicht die Bridge-Kommunikation.
MCU Code (Bridge)
Python Code (Bridge)
Schnelle Schritte
- Verbinden: Verdrahten Sie die 3x4-Tastatur und das LCD I2C mit dem Arduino UNO Q wie im Schaltschema gezeigt.
- Arduino App Lab öffnen: Starten Sie Arduino App Lab und warten Sie, bis das Board erkannt wird.
- Neue App erstellen: Klicken Sie auf Create New App (Neue App erstellen), nennen Sie sie KeypadLcdBridge, und klicken Sie dann auf Create (Erstellen).
- MCU-Sketch einfügen: Kopieren Sie den obigen MCU Bridge-Code und fügen Sie ihn in sketch/sketch.ino ein.
- Python-Code einfügen: Kopieren Sie den obigen Python Bridge-Code und fügen Sie ihn in die Python-Datei der App ein.
- Upload: Klicken Sie auf die Run-Schaltfläche in Arduino App Lab.

- Geben Sie auf der Tastatur ein und drücken Sie # zum Bestätigen — beobachten Sie die Python-Konsole reagiert.
App Lab Konsolenausgabe
Telegram
Erhalten Sie Telegram-Benachrichtigungen, wenn ein Tastatureintrag bestätigt wird (# gedrückt) und das LCD remote von Ihrem Telefon aus.
MCU-Sketch: Behalten Sie denselben MCU-Sketch 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 denselben MCU-Sketch).
- Klicken Sie auf die Run-Schaltfläche. Geben Sie auf der Tastatur ein und drücken Sie # — Ihr Telegram-Chat erhält eine Benachrichtigung.
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 erstellen, die die Tastatur und das LCD mit Arduino UNO Q kombinieren:
- Remote PIN-Code-Anzeige: Benutzer gibt einen PIN auf der Tastatur ein und dieser wird auf dem LCD angezeigt — der MPU erhält eine Telegram-Benachrichtigung mit dem eingegebenen PIN, wenn # gedrückt wird
- Smart Entry Logger: Alle bestätigten Tastatureinträge werden mit Zeitstempel auf dem Linux-MPU protokolliert und an Telegram zur Remote-Überwachung weitergeleitet
- Display Message Board: Die Python-Seite sendet einen Textstring über Bridge und der MCU zeigt ihn auf dem LCD an, während die Tastatur verwendet werden kann, um durch Meldungen zu navigieren
- Access Code Validator: Python validiert den bestätigten Tastatureintrag gegen eine Liste autorisierter Codes und sendet „Zugriff gewährt" oder „verweigert" über Telegram
- Multi-Step Input UI: Verwenden Sie das LCD, um den Benutzer durch eine mehrstufige Eingabesequenz zu führen (z.B. zuerst einen Code eingeben, dann einen Wert eingeben) — Python verfolgt den Schrittstatuts
Forder dich selbst heraus
Bereit, mit der Tastatur und dem LCD auf Arduino UNO Q weiter zu gehen? Versuchen Sie diese Herausforderungen:
- Einfach: Ändern Sie den MCU-Sketch, um auf der zweiten LCD-Zeile „RICHTIG" oder „FALSCH" anzuzeigen, wenn # gedrückt wird, je nachdem, ob die eingegebene Eingabe mit einem festgelegten Passwort übereinstimmt.
- Mittel: Fügen Sie eine display_message(String) Bridge-Funktion hinzu, die das LCD löscht und eine benutzerdefinierte Nachricht anzeigt, die von Python gesendet wird — damit die Linux-MPU remote alles auf den Bildschirm schreiben kann.
- Fortgeschrittene: Erstellen Sie einen vollständig Telegram-gesteuerten Zugangsbereich: Benutzer geben einen PIN auf der Tastatur ein, der MPU validiert ihn über Bridge, sendet ein Telegram-Ergebnis, und wenn korrekt, aktiviert ein Relais. Protokollieren Sie alle Versuche mit Zeitstempel auf der Linux-Seite.