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:

Arduino UNO Q - LED - Blinken

Erforderliche Hardware

1×Arduino UNO Q
1×USB-Kabel für Arduino Uno Q
1×LED Kit
1×LED (red)
1×LED Module
1×220 Ohm Widerstand
1×Steckbrett
1×Jumper-Drähte
1×(Empfohlen) Schraubklemmenblock-Shield für Arduino Uno
1×(Empfohlen) Sensors/Servo Expansion Shield for Arduino Uno
1×(Empfohlen) Breadboard-Shield für Arduino Uno
1×(Empfohlen) Gehäuse für Arduino Uno
1×(Empfohlen) Prototyping-Grundplatte & Breadboard-Kit für Arduino Uno

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

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
Wie LED funktioniert

※ 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
LED-Pinbelegung

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:
pinMode(9, OUTPUT);
  • LED ausschalten (Pin auf LOW setzen):
digitalWrite(9, LOW);
  • LED einschalten (Pin auf HIGH setzen):
digitalWrite(9, HIGH);

Schaltplan

Arduino UNO Q LED-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
/* * Dieser Arduino UNO Q Code wurde von newbiely.de entwickelt * Dieser Arduino UNO Q Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-q/arduino-uno-q-blink-led */ #define LED_PIN 9 // The Arduino UNO Q pin connected to the LED void setup() { pinMode(LED_PIN, OUTPUT); } void loop() { digitalWrite(LED_PIN, HIGH); // turn the LED on delay(500); // wait for 500 milliseconds digitalWrite(LED_PIN, LOW); // turn the LED off delay(500); // wait for 500 milliseconds }

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.
Neue App in Arduino App Lab auf Arduino UNO Q 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.
Arduino App Lab App-Ordner und Dateien auf Arduino UNO Q
  • Suchen Sie die Datei sketch/sketch.ino – hier fügen Sie den MCU-Sketch ein.
  • Sketch einfügen: Kopieren Sie den MCU-Code oben und fügen Sie ihn in diese Sketch-Datei ein. Behalten Sie andere Dateien als Standard bei.
    • Install the library: Click the Add sketch library button (the open book icon with a + sign) in the left sidebar.
    Add sketch library in Arduino App Lab on Arduino UNO Q
    • Search for Arduino_RouterBridge created by Arduino and click the Install button.
    My Apps / DIYables Apps
    Run
    Bricks
    No bricks added...
    Sketch Libraries
    No sketch libra...
    Files
    python
    sketch
    .gitignore
    README.md
    app.yaml
    sketch.ino
    Add sketch library
    Arduino_RouterBridge Arduino

    This library provides a simple RPC bridge for Arduino UNO Q boards, allowing communication between the board and other devices using MsgPack serialization.

    0.4.1
    Install
    More Info
    • Hochladen: Klicken Sie auf die Schaltfläche Ausführen in Arduino App Lab, um zu kompilieren und auf STM32 hochzuladen.
    Klicken Sie auf Ausführen in Arduino App Lab auf Arduino UNO Q
    • 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:

    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:

    /* * Dieser Arduino UNO Q Code wurde von newbiely.de entwickelt * Dieser Arduino UNO Q Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-q/arduino-uno-q-blink-led */ #include "Arduino_RouterBridge.h" #define LED_PIN 9 void setup() { Bridge.begin(); Monitor.begin(); pinMode(LED_PIN, OUTPUT); Bridge.provide_safe("set_led", set_led); Monitor.println("LED Bridge ready"); } void loop() {} void set_led(int state) { digitalWrite(LED_PIN, state ? HIGH : LOW); }

    Python-Skript (Arduino App Lab) – LED von Linux aus steuern:

    /* * Dieser Arduino UNO Q Code wurde von newbiely.de entwickelt * Dieser Arduino UNO Q Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-q/arduino-uno-q-blink-led */ from arduino.app_utils import * import time def loop(): Bridge.call("set_led", 1) print("LED ON") time.sleep(0.5) Bridge.call("set_led", 0) print("LED OFF") time.sleep(0.5) App.run(user_loop=loop)
    • 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

    DIYables_Apps
    Stop
    sketch.ino
    1#include "Arduino_RouterBridge.h"
    Serial Monitor
    Python
    LED ON LED OFF LED ON LED OFF

    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:

    /* * Dieser Arduino UNO Q Code wurde von newbiely.de entwickelt * Dieser Arduino UNO Q Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-q/arduino-uno-q-blink-led */ from arduino.app_utils import * import requests import time BOT_TOKEN = "YOUR_BOT_TOKEN" API_URL = f"https://api.telegram.org/bot{BOT_TOKEN}" last_update_id = 0 def send_message(chat_id, text): requests.post(f"{API_URL}/sendMessage", json={"chat_id": chat_id, "text": text}) def get_updates(): global last_update_id resp = requests.get(f"{API_URL}/getUpdates", params={"offset": last_update_id + 1, "timeout": 5}) return resp.json().get("result", []) def loop(): global last_update_id updates = get_updates() for update in updates: last_update_id = update["update_id"] msg = update.get("message", {}) chat_id = msg.get("chat", {}).get("id") text = msg.get("text", "").strip() if text == "/on": Bridge.call("set_led", 1) send_message(chat_id, "LED is ON") elif text == "/off": Bridge.call("set_led", 0) send_message(chat_id, "LED is OFF") else: send_message(chat_id, "Commands:\n/on — turn LED on\n/off — turn LED off") time.sleep(1) App.run(user_loop=loop)
    • 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

    DIYables_Apps
    Stop
    sketch.ino
    1#include "Arduino_RouterBridge.h"
    Serial Monitor
    Python
    [2026-04-29 10:01:12] Telegram: /on [2026-04-29 10:01:12] LED is ON [2026-04-29 10:05:44] Telegram: /off [2026-04-29 10:05:44] LED is OFF [2026-04-29 10:08:30] Telegram: /on [2026-04-29 10:08:30] LED is ON
    Telegram
    Telegram 12:45
    Welcome to Telegram!
    ArduinoBot 10:19
    Chatting with Arduino...
    telegram-botfather
    BotFather Yesterday
    Your bot has been created.

    ArduinoBot

    bot
    Today
    /on
    10:15 AM ✓✓
    LED is ON
    10:16 AM
    /off
    10:17 AM ✓✓
    LED is OFF
    10:18 AM

    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

    ※ UNSERE NACHRICHTEN

    • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!