Arduino UNO Q - LCD-Tastaturschild
Benutzerein eingabe zu erfassen und Feedback anzuzeigen ist eine Kernfähigkeit in jedem Arduino-Projekt, und das LCD-Tastaturschild macht es mühelos auf Arduino UNO Q. Dieses All-in-One-Schild stapelt sich direkt auf Ihrem Arduino UNO Q und gibt Ihnen ein 16×2-LCD-Display und fünf Eingabetasten auf einer einzigen kompakten Platine – keine zusätzliche Verdrahtung erforderlich!
In diesem Tutorial erfahren Sie:
- Was das LCD-Tastaturschild ist und wie es funktioniert
- Wie Sie das LCD-Tastaturschild mit Arduino UNO Q verkabeln (stapeln)
- Wie Sie die MCU (C/C++ Arduino-Code) auf Arduino UNO Q programmieren, um Tasten direkt auszulesen und das LCD zu steuern
- Wie Sie sowohl die Linux-Seite (Python) als auch die MCU-Seite (C/C++ Arduino-Code) programmieren, um die Linux-Seite zur Steuerung des LCD-Tastaturschilds mit der MCU-Seite zu interagieren
- Wie Sie Telegram verwenden, um Arduino UNO Q Nachrichten zu senden, um Nachrichten auf dem LCD anzuzeigen oder Tastenzustände zu lesen
- Wie Sie OpenClaw auf Arduino UNO Q verwenden, um das LCD-Tastaturschild zu steuern
- Wie Sie lesen, welche Taste gedrückt wird, und das Ergebnis auf dem LCD-Bildschirm anzeigen

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über das LCD-Tastaturschild
Das LCD-Tastaturschild ist ein Plug-and-Play-Arduino-Schild, das ein 16×2-Zeichen-LCD-Display mit fünf Eingabetasten auf einer einzigen Platine kombiniert.
- Display: 16×2-LCD — zeigt 2 Reihen mit 16 Zeichen an, angetrieben durch die LiquidCrystal-Bibliothek
- Tasten: 5 Eingabetasten (Rechts, Oben, Unten, Links, Auswahl) – alle verbunden mit einem einzigen analogen Pin (A0) mithilfe einer Widerstandsleiter
- Reset: 1 dedizierte Reset-Taste zum Neustart des Arduino UNO Q
- Kontrast: Eingebautes Potentiometer (Drehknopf) zur Anpassung des LCD-Kontrasts
- Formfaktor: Standard-Arduino-Schild – stapelt sich direkt auf Arduino UNO Q-Stifte, keine zusätzliche Verdrahtung erforderlich
- Warum es großartig für Anfänger ist: Einfach einstöpseln und los – kein Löten, keine Jumper-Kabel und Sie erhalten sofortiges visuelles Feedback
Pinbelegung

Das LCD-Tastaturschild verbindet sich mit Arduino UNO Q über seine Shield-Header. So wird jeder Pin zugeordnet:
| Shield-Pin | Funktion | Arduino UNO Q-Pin |
|---|---|---|
| DB4 | LCD-Daten | 4 |
| DB5 | LCD-Daten | 5 |
| DB6 | LCD-Daten | 6 |
| DB7 | LCD-Daten | 7 |
| RS | Registerauswahl | 8 |
| E | Aktivieren | 9 |
| Analog A0 | Tasten eingabe | A0 |
- Reset-Taste: Startet Arduino UNO Q neu, wenn gedrückt
- Potentiometer (Drehknopf): Passt den LCD-Kontrast an – drehen Sie ihn, wenn der Bildschirm leer oder zu dunkel aussieht
※ Notiz:
Kompatibilitätshinweis für Arduino UNO Q:
- LCD-Display: Funktioniert perfekt – die LiquidCrystal-Bibliothek steuert alle 16×2-Display-Funktionen ohne Probleme.
- Tasten – wichtig: Die Tasten sind alle über eine Widerstandsleiter mit einem einzigen analogen Pin (A0) verbunden. Das Schild wurde für eine 5V-ADC entwickelt, aber der STM32 auf Arduino UNO Q verwendet eine 3,3V-Referenz mit einem 12-Bit-ADC (0–4095). Verschiedene Schildhersteller verwenden unterschiedliche Widerstandswerte, daher variiert die ADC-Ablesung für jede Taste zwischen den Schilden. Sie müssen die Schwellwerte für Ihren spezifischen Schild kalibrieren (siehe Abschnitt zur Fehlerbehebung) – andernfalls können Tasten möglicherweise falsch erkannt werden (z. B. LINKS als UNTEN erkannt).
- AUSWAHL-Taste: Hängt von Ihrer Schildvariante ab. Bei einigen Schilden erzeugt AUSWAHL eine Spannung über 3,3V, die auf 4095 begrenzt ist (dasselbe wie „keine Taste") – AUSWAHL kann nicht erkannt werden. Bei anderen Schilden erzeugt AUSWAHL eine Spannung unter 3,3V und kann erkannt werden. Kalibrieren Sie zuerst, um es herauszufinden.
Das LCD-Tastaturschild von DIYables, das in diesem Tutorial verwendet wird, funktioniert gut mit Arduino UNO Q für alle fünf Tasten, einschließlich AUSWAHL.
Schaltplan
Keine Verdrahtung erforderlich – stapeln Sie einfach das LCD-Tastaturschild direkt auf Ihrem Arduino UNO Q und die Stifte richten sich automatisch aus.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
- Hinweis: Stellen Sie sicher, dass das Schild fest nach unten gedrückt wird, damit alle Stifte einen soliden Kontakt herstellen.
MCU-Code (Direktes Arduino-Sketch)
Arduino UNO Q hat zwei Prozessoren – wie zwei Gehirne in einer Platine: die STM32-MCU (verwaltet Echtzeit-Hardware-Steuerung) und die Qualcomm-MPU (läuft Linux). In diesem Abschnitt programmieren wir nur die STM32-MCU unter Verwendung von Arduino C/C++ – die Linux-Seite bleibt untätig. In einem späteren Abschnitt werden wir beide Prozessoren programmieren und sie miteinander interagieren lassen.
Hier ist das Arduino-Sketch, das direkt auf der STM32-MCU läuft, um Tastendrücke zu erkennen und Ergebnisse auf dem LCD anzuzeigen.
- Initialisiert das 16×2-LCD mit der LiquidCrystal-Bibliothek
- Liest den Analog wert von A0, um zu erkennen, welche Taste gedrückt wird
- Zeigt den Namen der gedrückten Taste auf dem LCD in Echtzeit an
- Meldet Tastenereignisse über Monitor.println() an die App Lab-Konsole
Schnelle Schritte
- Erste Schritte mit Arduino UNO Q? Folgen Sie dem Tutorial Erste Schritte mit Arduino UNO Q, um Ihre Entwicklungsumgebung vor dem Fortfahren vorzubereiten.
- Schild stapeln: Drücken Sie das LCD-Tastaturschild fest auf Ihren Arduino UNO Q – alle Stifte sollten ausgerichtet und vollständig sitzen.
- Verbinden: Verbinden Sie Ihren Arduino UNO Q mit einem USB-C-Kabel mit Ihrem Computer.
- Öffnen Sie Arduino App Lab: Starten Sie Arduino App Lab und warten Sie, bis Ihr Arduino UNO Q erkannt wird – dies kann beim ersten Start mehrere Minuten dauern.
- Erstellen Sie eine neue App: Klicken Sie auf die Schaltfläche App erstellen.

- Geben Sie der App einen Namen, beispielsweise: DIYables_LCD_Keypad_Shield
- Klicken Sie auf Erstellen, um zu bestätigen.
- Sie sehen einen Satz von Ordnern und Dateien, die in Ihrer neuen App generiert werden.

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

- Search for LiquidCrystal created by Arduino, Adafruit and click the Install button.
- Search for Arduino_RouterBridge created by Arduino and click the Install button.
- Hochladen: Klicken Sie in Arduino App Lab auf die Schaltfläche Ausführen, um den Code zu kompilieren und auf den STM32 hochzuladen.

- Testen: Drücken Sie nacheinander jede Taste (Rechts, Oben, Unten, Links, Auswahl) und beobachten Sie die LCD-Aktualisierung.
- Schwarzer Bildschirm? Drehen Sie den Kontrastknopf auf dem Schild, bis der Text deutlich sichtbar ist.
- Profi-Tipp: Drücken Sie die Reset-Taste auf dem Schild, um Ihren Sketch neu zu starten, ohne das USB-C-Kabel abzuziehen.
App Lab-Konsolenausgabe
Bonus: Sauberer Code
Möchten Sie, dass Ihr Code professioneller aussieht? Hier ist eine erweiterte Version mit gut organisierten Funktionen:
Linux + MCU-Brücken-Programmierung
Arduino UNO Q hat zwei Prozessoren, die zusammenarbeiten: die MPU (Qualcomm, läuft Debian Linux) und die MCU (STM32, läuft Zephyr OS mit Ihrem Arduino-Sketch). Sie kommunizieren über RPC über die Arduino_RouterBridge-Bibliothek – nie über Raw-Serial-Ports.
- MPU (Linux-Seite): Führt Python aus, um den Tastenzustand abzufragen und Text an das LCD zu senden
- MCU (STM32-Seite): Verwaltet das Lesen von Tasten in Echtzeit und LCD-Updates
- Kommunikation: Bridge.call() auf der Linux-Seite ruft Bridge.provide()-Funktionen auf der MCU-Seite auf
- ⚠️ Reserviert: /dev/ttyHS1 (Linux) und Serial1 (MCU) werden vom Arduino-Router verwendet – öffnen Sie sie nie direkt
MCU-Sketch – macht Tastenlesen und LCD-Schreiben auf der Linux-Seite verfügbar:
Python-Skript (Arduino App Lab) – Tastenzustand abfragen und LCD von Linux aktualisieren:
- Hinweis: Stellen Sie sicher, dass Bridge.begin() im MCU-Sketch aufgerufen wird und der Sketch hochgeladen ist, bevor Sie das Python-Skript auf der Linux-Seite ausführen.
- ⚠️ Warnung: Öffnen Sie nie direkt /dev/ttyHS1 (auf Linux) oder verwenden Sie Serial1 (auf MCU) in Ihrem Code – diese sind vom Arduino-Router reserviert und ihr Zugriff führt zum Unterbrechen der Brücke.
Schnelle Schritte
- MCU-Sketch hochladen: Öffnen Sie Arduino App Lab, erstellen Sie eine neue App, fügen Sie das MCU-Sketch oben in die Sketch-Registerkarte ein und klicken Sie auf Ausführen.
- Python-Skript hinzufügen: Fügen Sie den Python-Code oben in die Python-Registerkarte derselben App ein.
- App ausführen: Klicken Sie auf Ausführen – die Linux-Seite beginnt, den Tastenzustand alle 0,5 Sekunden abzufragen.
- Drücken Sie Tasten: Drücken Sie eine der fünf Tasten und beobachten Sie, wie sich sowohl das LCD als auch die App Lab-Konsole in Echtzeit aktualisieren.
- Profi-Tipp: Erhöhen Sie den Wert time.sleep(), um die Abfragehäufigkeit zu verringern und die CPU-Auslastung auf der Linux-Seite zu senken.
App Lab-Konsolenausgabe
Telegram-Integration
Sie können Ihren Arduino UNO Q LCD-Tastaturschild remote über Telegram steuern – zeigen Sie eine beliebige Nachricht auf dem LCD-Bildschirm an oder überprüfen Sie, welche Taste gedrückt wird, von überall aus.
Wenn Sie noch keinen Telegram-Bot haben, siehe So erstellen Sie einen Telegram-Bot, um Ihr Bot-Token vor dem Fortfahren zu erhalten.
Dieser Abschnitt behandelt:
- Ausführen eines Python-Skripts auf der Linux-Seite des Arduino UNO Q, um auf Telegram-Nachrichten zu lauschen
- Weiterleiten von Befehlen von Telegram zur MCU-Seite, um das LCD zu aktualisieren oder den Tastenzustand zu lesen
- Senden des MCU-Ergebnisses als Telegram-Antwort zurück
MCU-Sketch: Behalten Sie das gleiche MCU-Sketch aus dem vorherigen Bridge-Abschnitt – keine Änderungen erforderlich. Stellen Sie sicher, dass es bereits hochgeladen ist und auf dem STM32 läuft, bevor Sie fortfahren.
Python-Skript (Arduino App Lab) – Telegram-Bot für LCD-Tastaturschild:
- Hinweis: Ersetzen Sie YOUR_BOT_TOKEN durch das Token, das von @BotFather auf Telegram erhalten wurde.
- Senden Sie /lcd Hello UNO Q!, um eine Nachricht auf dem LCD-Bildschirm anzuzeigen.
- Senden Sie /button, um zu überprüfen, welche Taste auf dem Schild gerade gedrückt wird.
Schnelle Schritte
- Erstellen Sie einen Telegram-Bot: Schreiben Sie @BotFather auf Telegram, senden Sie /newbot, befolgen Sie die Anweisungen und kopieren Sie Ihr Bot-Token.
- MCU-Sketch hochladen: Verwenden Sie das Bridge MCU-Sketch aus dem vorherigen Abschnitt (laden Sie es zuerst hoch, falls noch nicht geschehen).
- Telegram-Skript einfügen: Kopieren Sie den Python-Code oben in die Python-Registerkarte Ihrer App in Arduino App Lab.
- Legen Sie Ihr Token fest: Ersetzen Sie YOUR_BOT_TOKEN im Skript durch Ihr tatsächliches Bot-Token.
- App ausführen: Klicken Sie auf Ausführen – der Bot beginnt sofort, auf Telegram-Nachrichten zu lauschen.
- Testen Sie es: Senden Sie /lcd Hello! an Ihren Bot und sehen Sie, wie der Text auf dem LCD angezeigt wird.
- Profi-Tipp: Verwenden Sie /button, um remote zu überprüfen, welche Schildtaste ein Benutzer drückt – ideal für Remote-Debugging oder Game-Controller.
App Lab-Konsolenausgabe
ArduinoBot
OpenClaw-Integration
Sie können das OpenClaw an diesem Tutorial anpassen, indem Sie auf die Anweisung zum Tutorial Arduino Uno Q - OpenClaw verweisen
Ideen für Anwendungen/Projekte
Hier sind einige unterhaltsame Projektideen, die Sie mit dem LCD-Tastaturschild und Arduino UNO Q erstellen können:
- Menügesteuertes System: Verwenden Sie die Tasten Oben/Unten, um Menüelemente zu durchlaufen, die auf dem LCD angezeigt werden
- Digitales Anzeigetafel: Verfolgung von Punkten für ein Spiel mit zwei Spielern unter Verwendung der Select-Taste zum Zurücksetzen
- PIN-Code-Eingabe: Geben Sie einen Code mit den Tasten ein und zeigen Sie maskiertes Feedback auf dem LCD an
- Telegram-gesteuerte Anzeige: Ermöglichen Sie jedem, Ihren Arduino UNO Q eine Nachricht zu senden, um die angezeigten Inhalte remote zu aktualisieren
- Dashboard für Remote-Sensoren: Anzeige von Temperatur- oder Feuchtigkeitswerten von Sensoren auf dem LCD, lesbar und aktualisierbar über Telegram
- Einfache Stoppuhr: Starten/Stop mit Select, Zurücksetzen mit Links und Anzeige der verstrichenen Zeit auf der 16×2-Anzeige
Benötigen Sie mehr LCD-Tricks? Schauen Sie sich das Tutorial Arduino LiquidCrystal LCD an, um mehr Ideen zu erhalten.
Fordern Sie sich selbst heraus
Versuchen Sie diese Herausforderungen mit Ihrem LCD-Tastaturschild und Arduino UNO Q, um Ihre Fähigkeiten zu verbessern:
- Einfach: Lassen Sie das LCD eine Willkommensnachricht auf Zeile 1 anzeigen und aktualisieren Sie Zeile 2 mit dem Namen jeder Taste, wenn sie gedrückt wird
- Mittel: Erstellen Sie eine Stoppuhr – verwenden Sie Select zum Starten/Stoppen und Links zum Zurücksetzen, wobei die verstrichene Zeit alle Sekunden auf dem LCD aktualisiert wird
- Fortgeschritten: Erstellen Sie ein Telegram-gesteuerte Menü mit mehreren Ebenen, bei dem Benutzer die LCD-Menüs remote navigieren können, indem sie Oben/Unten/Select-Befehle über den Telegram-Bot senden
Fehlerbehebung
Tasten werden falsch erkannt (falscher Tastenname angezeigt):
Die Button-ADC-Werte unterscheiden sich je nach Schildhersteller. Der Code ist für Arduino UNO Q vorkalibriert, aber wenn Ihr Schild unterschiedliche Widerstände verwendet, müssen Sie neu kalibrieren. Laden Sie das Kalibrierungs-Sketch unten hoch, halten Sie nacheinander jede Taste fest und notieren Sie den auf dem LCD und der App Lab-Konsole angezeigten ADC-Wert:
Schreiben Sie Ihre Ergebnisse auf:
| Taste | Ihr ADC-Wert |
|---|---|
| RIGHT | ? |
| UP | ? |
| DOWN | ? |
| LEFT | ? |
| SELECT | ? |
| NONE | ? |
Stellen Sie dann jeden Schwellwert in Ihrem Sketch auf den Mittelpunkt zwischen zwei benachbarten Tastenwerten ein. Wenn beispielsweise UP = 590 und DOWN = 1500, liegt der Schwellwert zwischen ihnen bei (590 + 1500) / 2 = 1045.
SELECT-Taste funktioniert nicht:
Einige Schilde verwenden eine Widerstandsleiter mit höherer Impedanz, die die SELECT-Spannung über 3,3V drückt – die ADC-Grenze des STM32. In diesem Fall wird SELECT auf 4095 begrenzt (dasselbe wie keine Taste gedrückt) und kann nicht erkannt werden. Verwenden Sie das Kalibrierungs-Sketch zum Überprüfen: Wenn SELECT und NONE beide 4095 lesen, kann SELECT auf Ihrem Schild nicht verwendet werden.
Schwarzer oder fehlerhafter LCD-Bildschirm:
Drehen Sie den Kontrastknopf (Potentiometer) auf dem Schild, bis der Text deutlich sichtbar ist.