Arduino UNO Q - LED - Blinken
Die Steuerung einer LED ist der klassische erste Schritt mit jedem Arduino-Board – und Arduino UNO Q ist keine Ausnahme. In diesem Tutorial erfahren Sie, wie Sie ein Programm für Arduino UNO Q schreiben, um eine LED ein- und auszuschalten und sie zum Blinken zu bringen.
In diesem Tutorial erfahren Sie:
- Was eine LED ist und wie sie funktioniert
- Wie man eine LED an Arduino UNO Q anschließt
- Wie man den MCU (C/C++ Arduino-Code) auf Arduino UNO Q programmiert, um eine LED zum Blinken zu bringen
- Wie man sowohl die Linux-Seite (Python) als auch die MCU-Seite (C/C++ Arduino-Code) programmiert, um eine LED von der Linux-Seite aus zu steuern
- Wie man Telegram verwendet, um eine LED auf Arduino UNO Q remote ein- oder auszuschalten
- Wie man OpenClaw auf Arduino UNO Q verwendet, um eine LED zu steuern

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Kaufhinweis: Um den Verdrahtungsprozess zu vereinfachen, empfehlen wir die Verwendung des LED Module, das mit einem eingebauten Widerstand geliefert wird.
Über LED
Eine LED (Leuchtdiode) ist ein kleines Licht, das sich einschaltet, wenn Strom in die richtige Richtung fließt.
- Zwei Anschlüsse: Anode (+) und Kathode (−)
- Richtung ist wichtig: Der Strom muss von Anode (+) zu Kathode (−) fließen, damit die LED leuchtet
- Widerstand erforderlich: Die meisten LEDs benötigen einen Strombegrenzungswiderstand (typischerweise 220Ω), um Beschädigungen zu verhindern
- Steuerung: Verbinden Sie die Anode (+) mit einem Arduino-Digitalausgangspin – setzen Sie ihn auf HIGH, um ihn einzuschalten, und auf LOW, um ihn auszuschalten

※ Notiz:
Die meisten LEDs benötigen einen Widerstand. Sie können den Widerstand mit der positiven Seite (Anode) und der Stromversorgung oder mit der negativen Seite (Kathode) und GND verbinden. Einige LEDs haben einen eingebauten Widerstand und benötigen keinen zusätzlichen.
Pinbelegung
LED hat zwei Anschlüsse:
- Kathode (−) Anschluss: mit GND (0V) verbinden
- Anode (+) Anschluss: steuert den Zustand der LED – HIGH zum Einschalten, LOW zum Ausschalten

Programmierung für LED
Wenn Sie einen Pin auf Arduino UNO Q als digitalen Ausgang festlegen, können Sie ihn programmieren, um die Spannung zu steuern – entweder GND oder VCC – um die LED ein- oder auszuschalten.
- Pin-Modus auf Ausgang einstellen:
- LED ausschalten (Pin auf LOW setzen):
- LED einschalten (Pin auf HIGH setzen):
Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
※ Notiz:
Welche Pins auf Arduino UNO Q können als digitaler Ausgang verwendet werden, um eine LED zu steuern? Die Pins 0 bis 13 und A0 bis A5 können alle als digitale Ausgangspins verwendet werden.
MCU-Code (Direct Arduino Sketch)
Arduino UNO Q hat zwei Prozessoren: der STM32 MCU (verwaltet echte Hardware-Steuerung) und der Qualcomm MPU (führt Debian Linux aus). In diesem Abschnitt wird nur der STM32 MCU programmiert – die Linux-Seite bleibt untätig. Ein späterer Abschnitt zeigt, wie beide Prozessoren zusammenarbeiten.
Hier ist der Arduino-Sketch, der eine LED, die mit Pin 9 am STM32 MCU verbunden ist, zum Blinken bringt:
- Setzt Pin 9 als digitalen Ausgang
- Schaltet die LED 500ms lang ein, dann 500ms lang aus – wiederholt sich endlos
Schnelle Schritte
- Zum ersten Mal mit Arduino UNO Q? Folgen Sie dem Tutorial Erste Schritte mit Arduino UNO Q, um Ihre Entwicklungsumgebung vor dem Fortfahren vorzubereiten.
- LED verdrahten: Verbinden Sie die LED und den 220Ω-Widerstand gemäß dem obigen Schaltplan mit Arduino UNO Q Pin 9.
- Verbinden: Stecken Sie Arduino UNO Q mit einem USB-C-Kabel in Ihren Computer.
- Öffnen Sie Arduino App Lab: Starten Sie Arduino App Lab und warten Sie, bis es Arduino UNO Q erkennt – 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.: DIYables_BlinkLED
- Klicken Sie auf Erstellen, um zu bestätigen.
- Sie werden einen Satz von Ordnern und Dateien sehen, die in Ihrer neuen App generiert werden.

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

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

- LED prüfen: Die LED, die mit Pin 9 verbunden ist, sollte alle 500ms ein- und ausschalten.
- Pro-Tipp: Ändern Sie beide delay(500)-Werte, um die Blinkgeschwindigkeit anzupassen – versuchen Sie delay(100) für schnelles Blinken oder delay(2000) für langsames Blinken.
※ Notiz:
- Der obige Code verwendet die delay()-Funktion, die den MCU blockiert, während er wartet. Wenn Ihr Projekt mehrere Dinge gleichzeitig tun muss, siehe Arduino UNO Q - LED ohne Verzögerung blinken.
Linux + MCU-Bridge-Programmierung
Arduino UNO Q hat zwei Prozessoren, die zusammenarbeiten: der MPU (Qualcomm, führt Debian Linux aus) und der MCU (STM32, führt Zephyr OS mit Ihrem Arduino-Sketch aus). Sie kommunizieren über RPC über die Bibliothek Arduino_RouterBridge – niemals über Raw-Serial-Ports.
- Die LED ist mit dem MCU (STM32) verbunden – die LED ist mit einem digitalen Pin am STM32 verdrahtet, nicht mit dem MPU. Der MCU steuert den LED-Zustand direkt über digitalWrite().
- Der MPU kann die LED nicht direkt steuern – er muss eine Anfrage an den MCU über Bridge.call() senden. Der MCU führt die entsprechende Funktion Bridge.provide_safe() aus und setzt den LED-Zustand.
- Der MPU hat Wi-Fi – weil der MPU vollständiges Debian Linux mit Wi-Fi ausführt, kann er sich mit dem Internet verbinden und Dinge tun, die der MCU nicht kann: Telegram-Befehle empfangen, REST-APIs aufrufen und mehr.
- Kommunikation: Bridge.call() auf der Linux-Seite ruft Funktionen Bridge.provide_safe() auf der MCU-Seite auf
- ⚠️ Reserviert: /dev/ttyHS1 (Linux) und Serial1 (MCU) werden vom Arduino Router verwendet – öffnen Sie sie niemals direkt
Kurz gesagt: MPU empfängt den Befehl (z.B. von Telegram) → MPU sendet ihn an MCU → MCU setzt LED-Zustand.
MCU-Sketch – macht LED-Steuerung der Linux-Seite verfügbar:
Python-Skript (Arduino App Lab) – LED von Linux aus steuern:
- Hinweis: Stellen Sie sicher, dass Bridge.begin() im MCU-Sketch aufgerufen wird und der Sketch hochgeladen wird, bevor Sie das Python-Skript auf der Linux-Seite ausführen.
- ⚠️ Warnung: Öffnen Sie niemals direkt /dev/ttyHS1 (unter Linux) oder verwenden Sie Serial1 (auf MCU) in Ihrem Code – diese sind vom Arduino Router reserviert und der Zugriff darauf unterbricht die Bridge.
Schnelle Schritte
- MCU-Sketch hochladen: Öffnen Sie Arduino App Lab, erstellen Sie eine neue App, fügen Sie den Bridge MCU-Sketch oben in sketch/sketch.ino ein und klicken Sie auf Ausführen.
- Python-Skript hinzufügen: Fügen Sie den Python-Code oben auf der Python-Registerkarte derselben App ein.
- App ausführen: Klicken Sie auf Ausführen – die Linux-Seite beginnt, die LED alle 500ms über Bridge-Aufrufe zu blinken.
- Konsole überprüfen: Öffnen Sie die Registerkarte Konsole → Python-Konsole Unterregisterkarte, um EIN-/AUS-Meldungen von der Python-Seite zu sehen.
- Pro-Tipp: Ändern Sie time.sleep(0.5) auf einen beliebigen Wert, um zu steuern, wie schnell die Linux-Seite die LED blinkt.
App Lab-Konsolenausgabe
Telegram-Integration
Sie können die LED remote über Telegram ein- oder ausschalten – senden Sie einen Befehl von überall und die LED antwortet sofort.
Wenn Sie noch keinen Telegram-Bot haben, lesen Sie Wie man einen Telegram-Bot erstellt, um Ihr Bot-Token vor dem Fortfahren zu erhalten.
Dieser Abschnitt behandelt:
- Ausführen eines Python-Skripts auf der Linux-Seite von Arduino UNO Q, um auf Telegram-Nachrichten zu hören
- Weiterleitung des LED-Befehls zur MCU-Seite über Bridge.call()
- Zurücksenden einer Bestätigungsantwort an Telegram
MCU-Sketch: Behalten Sie den gleichen MCU-Sketch aus dem vorherigen Bridge-Abschnitt – keine Änderungen erforderlich. Stellen Sie sicher, dass er bereits hochgeladen und auf dem STM32 ausgeführt wird, bevor Sie fortfahren.
Python-Skript (Arduino App Lab) – Telegram-Bot für LED-Steuerung:
- Hinweis: Ersetzen Sie YOUR_BOT_TOKEN durch das Token, das Sie von @BotFather auf Telegram erhalten haben.
- Senden Sie /on an Ihren Bot, um die LED einzuschalten.
- Senden Sie /off an Ihren Bot, um die LED auszuschalten.
Schnelle Schritte
- MCU-Sketch hochladen: Verwenden Sie den Bridge MCU-Sketch aus dem vorherigen Abschnitt (laden Sie ihn zuerst hoch, falls nicht bereits geschehen).
- Telegram-Skript einfügen: Kopieren Sie den Python-Code oben auf die Python-Registerkarte Ihrer App in Arduino App Lab.
- Token einstellen: Ersetzen Sie YOUR_BOT_TOKEN im Skript durch Ihr aktuelles Bot-Token.
- App ausführen: Klicken Sie auf Ausführen – der Bot beginnt sofort, auf Telegram-Nachrichten zu hören.
- Testen: Senden Sie /on an Ihren Bot und beobachten Sie, wie die LED sich einschaltet. Senden Sie /off, um sie auszuschalten.
- Pro-Tipp: Fügen Sie den /status-Befehl zum Python-Skript hinzu, um zu melden, ob die LED derzeit ein- oder ausgeschaltet ist.
App Lab-Konsolenausgabe
ArduinoBot
OpenClaw-Integration
Sie können die OpenClaw an dieses Tutorial anpassen, indem Sie sich auf die Anweisung im Tutorial Arduino Uno Q - OpenClaw beziehen.
Anwendungs-/Projektideen
Hier sind einige Projektideen, die Sie mit einer LED und Arduino UNO Q erstellen können:
- Telegram-gesteuerte Nachtleuchte: Schalten Sie eine Schlafzimmer-LED remote von Ihrem Telefon über Telegram ein oder aus
- Statusanzeige: Verwenden Sie die LED, um zu signalisieren, ob ein Prozess auf der Linux-Seite abgeschlossen wurde
- Herzschlag-Monitor: Lassen Sie die LED von der Python-Seite aus blinken, um anzuzeigen, dass die App läuft und gesund ist
- Countdown-Timer: Lassen Sie die LED mit zunehmender Geschwindigkeit blinken, während ein Countdown null erreicht
- Benachrichtigungslicht: Blitzen Sie die LED auf, wenn eine neue E-Mail oder ein API-Ereignis auf der Linux-Seite erkannt wird
Herausforderung für dich
Versuchen Sie diese Herausforderungen mit der LED und Arduino UNO Q, um Ihre Fähigkeiten zu erweitern:
- Einfach: Ändern Sie den Blink-Sketch, um 3 Mal schnell zu blinken, 1 Sekunde zu pausieren und dann zu wiederholen
- Mittel: Fügen Sie eine zweite LED zum Bridge-Sketch hinzu und erstellen Sie einen Telegram-Befehl, um zwischen ihnen zu wechseln
- Fortgeschritten: Erstellen Sie einen Telegram-Bot, der ein beliebiges Blinkmuster akzeptiert (z.B. /blink 3 500) und die LED so oft mit der angegebenen Verzögerung blinken lässt