Arduino UNO Q - LED-Streifen

Lernen Sie, wie Sie 12V-LED-Streifen mit dem Arduino UNO Q steuern. Da LED-Streifen mit 12V Gleichstrom betrieben werden, können sie nicht direkt an Arduino-Pins angeschlossen werden – Relaismodule überbrücken diese Lücke. Dieses Tutorial behandelt sowohl LED-Streifen in Einfarbversion als auch RGB-LED-Streifen, Bridge-Modus für Software-Farbsteuerung und Telegram-Fernbefehle.

In diesem Tutorial lernen Sie:

Arduino UNO Q Controls LED Strip

※ Notiz:

Dieses Tutorial behandelt nicht adressierbare LED-Streifen (alle LEDs ändern sich zusammen). Für einzeln adressierbare LED-Streifen siehe die NeoPixel- und WS2812B-Tutorials.

Hardware erforderlich

1×Arduino UNO Q
1×USB Cable for Arduino Uno Q
1×Relais
1×12V 1-color LED-Streifen
1×12V RGB LED-Streifen
1×12V Netzteil
1×DC-Stromanschluss
1×Verbindungskabel
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.

Über nicht adressierbare LED-Streifen

Ein nicht adressierbarer LED-Streifen ändert alle LEDs gleichzeitig – Sie können einzelne LEDs nicht steuern. Diese sind in zwei Arten erhältlich:

  • LED-Streifen in Einfarbversion: Eine Farbe, zwei Pins (12V+ und GND). Schalten Sie ihn mit einem Relais ein oder aus.
  • RGB-Streifen: Drei Farbkanäle (Rot, Grün, Blau), vier Pins (12V+, R, G, B). Jeder Kanal wird von einem separaten Relais gesteuert.
Non-Addressable LED Strip Pinout

Die LED-Streifen werden mit 12V Gleichstrom betrieben. Das Arduino UNO Q MCU kann 12V nicht direkt schalten – Relaismodule werden verwendet, um 12V-Stromversorgung mit 3,3V-Logiksignalen vom MCU zu schalten.

Für einzeln adressierbare LED-Streifen (WS2812B/NeoPixel) verweisen Sie auf die entsprechenden Tutorials.

LED-Streifen in Einfarbversion

Schaltschema

Arduino UNO Q 12V LED Strip Wiring Diagram

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Verbindung Details
Arduino UNO Q MCU D3 Relais IN-Pin
Relais COM 12V-Stromversorgungsplus
Relais NO LED-Streifen 12V+-Pin
LED-Streifen GND-Pin 12V-Stromversorgung negativ

Arduino UNO Q Code

Der Arduino UNO Q verfügt über zwei Prozessoren, die zusammenarbeiten:

  • Das STM32 MCU schaltet den Relais-Pin, um den LED-Streifen alle 5 Sekunden ein und aus
  • Die Qualcomm MPU führt Debian Linux mit Wi-Fi aus – in diesem Abschnitt wird nur das MCU programmiert. Ein späterer Abschnitt zeigt, wie beide Prozessoren über Bridge zusammenarbeiten.
/* * 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-led-strip */ // Controls a 12V single-color LED strip via a relay // Relay HIGH = LED strip ON, LOW = LED strip OFF #define RELAY_PIN 3 // The Arduino UNO Q MCU pin connected to the relay for the LED strip void setup() { Serial.begin(9600); pinMode(RELAY_PIN, OUTPUT); digitalWrite(RELAY_PIN, LOW); // ensure strip is off on startup } void loop() { Serial.println("The LED strip is turned on"); digitalWrite(RELAY_PIN, HIGH); delay(5000); Serial.println("The LED strip is turned off"); digitalWrite(RELAY_PIN, LOW); delay(5000); }

Schnelle Schritte

Zum ersten Mal mit Arduino UNO Q? Folgen Sie dem Tutorial Erste Schritte mit Arduino UNO Q, bevor Sie fortfahren.

  • Verbinden: Verdrahten Sie den LED-Streifen in Einfarbversion mit Arduino UNO Q MCU über das Relais, wie im Schaltschema dargestellt.
  • Öffnen Sie Arduino App Lab: Starten Sie Arduino App Lab und warten Sie, bis es Ihren Arduino UNO Q erkennt.
  • Erstellen Sie eine neue App: Klicken Sie auf die Schaltfläche Create New App.
Create New App in Arduino App Lab on Arduino UNO Q
  • Geben Sie der App einen Namen, zum Beispiel: LedStrip
  • Klicken Sie auf Create, um zu bestätigen.
Arduino App Lab App folders and files on Arduino UNO Q
  • Fügen Sie die Skizze ein: Kopieren Sie den MCU-Code oben und fügen Sie ihn in sketch/sketch.ino ein.
  • Hochladen: Klicken Sie auf die Schaltfläche Run in Arduino App Lab.
Click Run button in Arduino App Lab on Arduino UNO Q
  • Beobachten Sie, wie der LED-Streifen alle 5 Sekunden ein- und ausgeschaltet wird.

App Lab-Konsolenausgabe

DIYables_Apps
Stop
sketch.ino
1#include "Arduino_RouterBridge.h"
Serial Monitor
Python
Message (Enter to send a message to "Newbiely" on usb(2820070321))
New Line
9600 baud
[2026-04-29 09:00:01] The LED strip is turned on [2026-04-29 09:00:06] The LED strip is turned off [2026-04-29 09:00:11] The LED strip is turned on

RGB-LED-Streifen

Schaltschema

Arduino UNO Q 12V RGB LED Strip Wiring Diagram

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Verbindung Details
Arduino UNO Q MCU D6 Relais 1 IN (ROT-Kanal)
Arduino UNO Q MCU D7 Relais 2 IN (GRÜN-Kanal)
Arduino UNO Q MCU D5 Relais 3 IN (BLAU-Kanal)
Jedes Relais COM 12V-Stromversorgungsplus
Jedes Relais NO Entsprechender R/G/B-Pin auf LED-Streifen
LED-Streifen 12V+-Pin 12V-Stromversorgungsplus
LED-Streifen GND 12V-Stromversorgung negativ

Arduino UNO Q Code – RGB-Farbzyklus

/* * 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-led-strip */ // Controls a 12V RGB LED strip via 3 relays (one per color channel) // HIGH = color channel ON, LOW = color channel OFF #define RED_PIN 6 // The Arduino UNO Q MCU pin connected to the relay for the RED channel #define GREEN_PIN 7 // The Arduino UNO Q MCU pin connected to the relay for the GREEN channel #define BLUE_PIN 5 // The Arduino UNO Q MCU pin connected to the relay for the BLUE channel void setColor(bool r, bool g, bool b) { digitalWrite(RED_PIN, r ? HIGH : LOW); digitalWrite(GREEN_PIN, g ? HIGH : LOW); digitalWrite(BLUE_PIN, b ? HIGH : LOW); } void setup() { Serial.begin(9600); pinMode(RED_PIN, OUTPUT); pinMode(GREEN_PIN, OUTPUT); pinMode(BLUE_PIN, OUTPUT); setColor(false, false, false); // all off on startup } void loop() { Serial.println("Red"); setColor(true, false, false); delay(2000); Serial.println("Green"); setColor(false, true, false); delay(2000); Serial.println("Blue"); setColor(false, false, true); delay(2000); Serial.println("Yellow"); setColor(true, true, false); delay(2000); Serial.println("Magenta"); setColor(true, false, true); delay(2000); Serial.println("Cyan"); setColor(false, true, true); delay(2000); Serial.println("White"); setColor(true, true, true); delay(2000); Serial.println("Off"); setColor(false, false, false); delay(2000); }

App Lab-Konsolenausgabe

DIYables_Apps
Stop
sketch.ino
1#include "Arduino_RouterBridge.h"
Serial Monitor
Python
Message (Enter to send a message to "Newbiely" on usb(2820070321))
New Line
9600 baud
[2026-04-29 09:00:01] Red [2026-04-29 09:00:03] Green [2026-04-29 09:00:05] Blue [2026-04-29 09:00:07] Yellow [2026-04-29 09:00:09] Magenta [2026-04-29 09:00:11] Cyan [2026-04-29 09:00:13] White [2026-04-29 09:00:15] Off

Bridge: Linux + MCU

Dieser Abschnitt zeigt, wie Sie beide Prozessoren des Arduino UNO Q verwenden, um die RGB-LED-Streifenfarbe von der Linux-Seite aus über Bridge zu steuern:

  • Die 3 Relais werden vom MCU gesteuert – das MCU stellt eine set_color()-Funktion über Bridge bereit
  • Die MPU kann die Relais-Pins nicht direkt steuern – sie ruft Bridge auf, um die LED-Streifenfarbe zu ändern
  • Die MPU hat Wi-Fi – mit vollständigem Debian Linux kann sie Telegram-Farbenbefehle akzeptieren und den LED-Streifen sofort aktualisieren
  • Arduino_RouterBridge ermöglicht RPC-Kommunikation zwischen den beiden Prozessoren
  • ⚠️ /dev/ttyHS1 (Linux) und Serial1 (MCU) sind RESERVIERT vom Router – öffnen Sie sie niemals in Benutzercode

MCU-Code (Bridge)

/* * 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-led-strip */ #include "Arduino_RouterBridge.h" #define RED_PIN 6 // The Arduino UNO Q MCU pin connected to the relay for the RED channel #define GREEN_PIN 7 // The Arduino UNO Q MCU pin connected to the relay for the GREEN channel #define BLUE_PIN 5 // The Arduino UNO Q MCU pin connected to the relay for the BLUE channel String current_color = "off"; void applyColor(bool r, bool g, bool b) { digitalWrite(RED_PIN, r ? HIGH : LOW); digitalWrite(GREEN_PIN, g ? HIGH : LOW); digitalWrite(BLUE_PIN, b ? HIGH : LOW); } String set_color(String color) { color.toLowerCase(); color.trim(); if (color == "red") { applyColor(true, false, false); current_color = "red"; } else if (color == "green") { applyColor(false, true, false); current_color = "green"; } else if (color == "blue") { applyColor(false, false, true); current_color = "blue"; } else if (color == "yellow") { applyColor(true, true, false); current_color = "yellow"; } else if (color == "magenta") { applyColor(true, false, true); current_color = "magenta"; } else if (color == "cyan") { applyColor(false, true, true); current_color = "cyan"; } else if (color == "white") { applyColor(true, true, true); current_color = "white"; } else if (color == "off") { applyColor(false, false, false); current_color = "off"; } else { return "unknown color: " + color; } Monitor.println("Color set to: " + current_color); return "ok:" + current_color; } String get_state(String arg) { return current_color; } void setup() { Bridge.begin(); Monitor.begin(); pinMode(RED_PIN, OUTPUT); pinMode(GREEN_PIN, OUTPUT); pinMode(BLUE_PIN, OUTPUT); applyColor(false, false, false); Bridge.provide_safe("set_color", set_color); Bridge.provide("get_state", get_state); Monitor.println("Arduino UNO Q RGB LED Strip Bridge ready"); } void loop() {}

Python-Code (Bridge)

/* * 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-led-strip */ from arduino.app_utils import * import time COLORS = ["red", "green", "blue", "yellow", "magenta", "cyan", "white", "off"] def loop(): for color in COLORS: result = Bridge.call("set_color", color) state = Bridge.call("get_state") print(f"Set color: {color} → result: {result} state: {state}") time.sleep(2) App.run(user_loop=loop)

Schnelle Schritte

  • Verbinden: Verdrahten Sie den RGB-LED-Streifen über 3 Relais mit Arduino UNO Q, wie in der RGB-Schaltschema dargestellt.
  • Öffnen Sie Arduino App Lab und erstellen Sie eine neue App mit dem Namen LedStripBridge.
  • Fügen Sie die MCU-Skizze in sketch/sketch.ino ein.
  • Fügen Sie den Python-Code in die Python-Datei ein.
  • 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 Run. Beobachten Sie, wie der LED-Streifen durch alle Farben wechselt.
Click Run button in Arduino App Lab on Arduino UNO Q

App Lab-Konsolenausgabe

DIYables_Apps
Stop
sketch.ino
1#include "Arduino_RouterBridge.h"
Serial Monitor
Python
Message (Enter to send a message to "Newbiely" on usb(2820070321))
New Line
9600 baud
[2026-04-29 09:00:01] Arduino UNO Q RGB LED Strip Bridge ready [2026-04-29 09:00:02] Color set to: red [2026-04-29 09:00:04] Color set to: green [2026-04-29 09:00:06] Color set to: blue
DIYables_Apps
Stop
sketch.ino
1#include "Arduino_RouterBridge.h"
Serial Monitor
Python
[2026-04-29 09:00:02] Set color: red → result: ok:red state: red [2026-04-29 09:00:04] Set color: green → result: ok:green state: green [2026-04-29 09:00:06] Set color: blue → result: ok:blue state: blue [2026-04-29 09:00:08] Set color: yellow → result: ok:yellow state: yellow [2026-04-29 09:00:10] Set color: magenta → result: ok:magenta state: magenta [2026-04-29 09:00:12] Set color: cyan → result: ok:cyan state: cyan [2026-04-29 09:00:14] Set color: white → result: ok:white state: white [2026-04-29 09:00:16] Set color: off → result: ok:off state: off

Telegram

Steuern Sie die RGB-LED-Streifenfarbe remote über Telegram – senden Sie /color red, /color blue oder einen beliebigen unterstützten Farbnamen, um die LED-Streifenfarbe auf Ihrem Arduino UNO Q sofort zu ändern.

MCU-Skizze: Halten Sie die gleiche MCU-Skizze aus dem vorherigen Bridge-Abschnitt.

Python-Code (Telegram)

/* * 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-led-strip */ from arduino.app_utils import * import requests import time TELEGRAM_BOT_TOKEN = "YOUR_TELEGRAM_BOT_TOKEN" CHAT_ID = "YOUR_CHAT_ID" last_update_id = 0 COLORS = ["red", "green", "blue", "yellow", "magenta", "cyan", "white", "off"] def get_updates(): global last_update_id url = f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/getUpdates" params = {"offset": last_update_id + 1, "timeout": 5} try: response = requests.get(url, params=params, timeout=10) data = response.json() if data["ok"]: return data["result"] except Exception as e: print(f"Error getting updates: {e}") return [] def send_message(chat_id, text): url = f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage" payload = {"chat_id": chat_id, "text": text} try: requests.post(url, data=payload, timeout=10) except Exception as e: print(f"Error sending message: {e}") def loop(): updates = get_updates() for update in updates: last_update_id = update["update_id"] if "message" not in update: continue message = update["message"] chat_id = message["chat"]["id"] text = message.get("text", "").strip() print(f"Received: {text}") if text == "/start": send_message(chat_id, "Arduino UNO Q RGB LED Strip Bot\n" "/color <name> - Set color (red, green, blue, yellow, magenta, cyan, white, off)\n" "/state - Current LED strip color\n" "Example: /color red") elif text.startswith("/color"): parts = text.split() if len(parts) < 2: send_message(chat_id, "Usage: /color <name>\nColors: " + ", ".join(COLORS)) else: color = parts[1].lower() if color not in COLORS: send_message(chat_id, f"Unknown color: {color}\nAvailable: " + ", ".join(COLORS)) else: result = Bridge.call("set_color", color) state = Bridge.call("get_state") send_message(chat_id, f"💡 LED strip color set to: {state}") elif text == "/state": state = Bridge.call("get_state") send_message(chat_id, f"Current LED strip color: {state}") else: send_message(chat_id, "Unknown command. Send /start for help.") time.sleep(0.3) App.run(user_loop=loop)

Schnelle Schritte

  • Ersetzen Sie YOUR_TELEGRAM_BOT_TOKEN durch Ihren aktuellen 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 (halten Sie die gleiche MCU-Skizze).
  • Klicken Sie auf die Schaltfläche Run – senden Sie /color red in Telegram, um die LED-Streifenfarbe zu ändern.

App Lab-Konsolenausgabe

DIYables_Apps
Stop
sketch.ino
1#include "Arduino_RouterBridge.h"
Serial Monitor
Python
[2026-04-29 09:10:01] Waiting for Telegram messages... [2026-04-29 09:10:05] Received: /color red [2026-04-29 09:10:08] Received: /color cyan [2026-04-29 09:10:12] Received: /state [2026-04-29 09:10:15] Received: /color off
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
/color red
10:15 AM ✓✓
💡 LED strip color set to: red
10:16 AM
/color cyan
10:17 AM ✓✓
💡 LED strip color set to: cyan
10:18 AM
/state
10:19 AM ✓✓
Current LED strip color: cyan
10:20 AM
/color off
10:21 AM ✓✓
💡 LED strip color set to: off
10:22 AM

OpenClaw

You can adapt the OpenClaw to this tutorial by refering the instruction on Arduino Uno Q - OpenClaw Tutorial

Projektideen

Sie können viele nützliche Projekte mit dem LED-Streifen und Arduino UNO Q bauen:

  • Telegram Mood-Beleuchtung: Steuern Sie die RGB-LED-Streifenfarbe von Telegram aus jederzeit – senden Sie /color blue für eine kühle Abendatmosphäre oder /color white für den Arbeitsmodus
  • Benachrichtigungslicht: Kombinieren Sie mit dem Gas-Sensor-Tutorial – wenn Gas erkannt wird, setzt Python den LED-Streifen über Bridge auf Rot (Warnung); wenn gelöscht, kehrt er zu Weiß (normal) zurück
  • Zeitplanbasierte Beleuchtung: Verwenden Sie Pythons time-Modul, um LED-Streifenfarben basierend auf Tageszeit automatisch zu ändern – warmes Weiß am Abend, kühles Weiß am Morgen – ohne Telegram-Eingabe
  • Musikreaktive Beleuchtung: Kombinieren Sie mit dem Schallsensor – wenn der Schallsensor einen Beat erkennt, durchlaufen Farben schnell für einen musikreaktiven Lichteffekt
  • Status-Anzeige-Panel: Verwenden Sie den LED-Streifen als Status-Anzeige für einen Serverraum oder eine Werkstatt – Grün = alle Systeme normal, Gelb = Warnung, Rot = kritische Warnung – gesteuert von Bridge aus beliebigen Überwachungsskripten

Fordern Sie sich selbst heraus

Bereit, mit dem LED-Streifen auf Arduino UNO Q weiterzugehen? Versuchen Sie diese Herausforderungen:

  • Einfach: Fügen Sie einen /blink <color> <count> Telegram-Befehl hinzu, der den LED-Streifen in der ausgewählten Farbe eine bestimmte Anzahl von Malen blinkt, mit 500 ms Ein und 500 ms Aus pro Blink.
  • Mittel: Implementieren Sie einen sanften Farbzyklus-Modus: Wenn /mode cycle über Telegram gesendet wird, wechselt Python in eine Schleife, die alle 7 Farben mit einer 3-Sekunden-Pause durchläuft, und /mode stop beendet die Schleife und schaltet den Streifen aus.
  • Fortgeschrittenes: Erstellen Sie einen Sonnenaufgang-Wecker: zu einer benutzerdefinierten Zeit (über einen /alarm HH:MM Telegram-Befehl eingestellt) wechselt Python langsam den LED-Streifen von aus → rot → gelb → weiß über 10 Minuten und simuliert ein natürliches Sonnenaufgang-Weck-Erlebnis.

※ 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!