Arduino UNO Q - Ruban LED

Apprenez à contrôler des rubans LED 12V avec Arduino UNO Q. Comme les rubans LED fonctionnent en 12V DC, ils ne peuvent pas être connectés directement aux broches Arduino — les modules relais font le pont. Ce tutoriel couvre les rubans LED monochrome et RGB, le mode Bridge pour le contrôle logiciel des couleurs et les commandes Telegram à distance.

Dans ce tutoriel, vous apprendrez :

Arduino UNO Q Contrôle Ruban LED

※ Note:

Ce tutoriel couvre les Rubans LED Non-Adressables (toutes les LEDs changent ensemble). Pour les rubans LED adressables individuellement, consultez les tutoriels NeoPixel et WS2812B.

Matériel Requis

1×Arduino UNO Q
1×USB Cable for Arduino Uno Q
1×Relais
1×12V 1-color Bande LED
1×12V RGB Bande LED
1×Adaptateur secteur 12V
1×Connecteur d'alimentation DC
1×Fils de connexion
1×Recommandé: Shield à bornier à vis pour Arduino Uno
1×Recommandé: Sensors/Servo Expansion Shield for Arduino Uno
1×Recommandé: Shield plaque d'essai pour Arduino Uno
1×Recommandé: Boîtier pour Arduino Uno
1×Recommandé: Kit plaque de base prototypage et plaque d'essai pour Arduino Uno

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos des Rubans LED Non-Adressables

Un ruban LED non-adressable change toutes les LEDs simultanément — vous ne pouvez pas contrôler les LEDs individuelles. Ils sont disponibles en deux types :

  • Ruban monochrome : Une couleur, deux broches (12V+ et GND). Allumez ou éteignez-le avec un relais.
  • Ruban RGB : Trois canaux de couleur (Rouge, Vert, Bleu), quatre broches (12V+, R, G, B). Chaque canal est contrôlé par un relais séparé.
Brochage du Ruban LED Non-Adressable

Les rubans LED fonctionnent en 12V DC. Le MCU Arduino UNO Q ne peut pas commuter directement le 12V — des modules relais sont utilisés pour commuter l'alimentation 12V à l'aide de signaux logiques 3,3V du MCU.

Pour les rubans LED adressables individuellement (WS2812B/NeoPixel), consultez les tutoriels dédiés.

Ruban LED Monochrome

Schéma de Câblage

Schéma de Câblage Ruban LED 12V sur Arduino UNO Q

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Connexion Détails
MCU Arduino UNO Q D3 Broche IN du relais
COM du relais Positif de l'alimentation 12V
NO du relais Broche 12V+ du ruban LED
Broche GND du ruban LED Négatif de l'alimentation 12V

Code Arduino UNO Q

L'Arduino UNO Q dispose de deux processeurs travaillant ensemble :

  • Le MCU STM32 bascule la broche du relais pour allumer et éteindre le ruban LED toutes les 5 secondes
  • Le MPU Qualcomm exécute Debian Linux avec Wi-Fi — dans cette section, seul le MCU est programmé. Une section ultérieure montre comment les deux processeurs travaillent ensemble via Bridge.
/* * Ce code Arduino UNO Q a été développé par newbiely.fr * Ce code Arduino UNO Q est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/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); }

Étapes Rapides

Première fois avec Arduino UNO Q ? Suivez le tutoriel Démarrer avec Arduino UNO Q avant de continuer.

  • Connecter : Câblez le ruban LED monochrome au MCU Arduino UNO Q via le relais comme indiqué dans le schéma de câblage.
  • Ouvrir Arduino App Lab : Lancez Arduino App Lab et attendez qu'il détecte votre Arduino UNO Q.
  • Créer une nouvelle application : Cliquez sur le bouton Create New App.
Créer une nouvelle application dans Arduino App Lab sur Arduino UNO Q
  • Donnez un nom à l'application, par exemple : LedStrip
  • Cliquez sur Create pour confirmer.
Dossiers et fichiers de l'application Arduino App Lab sur Arduino UNO Q
  • Coller le sketch : Copiez le code MCU ci-dessus et collez-le dans sketch/sketch.ino.
  • Téléverser : Cliquez sur le bouton Run dans Arduino App Lab.
Cliquer sur le bouton Run dans Arduino App Lab sur Arduino UNO Q
  • Observez le ruban LED s'allumer et s'éteindre toutes les 5 secondes.

Sortie de la Console App Lab

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

Ruban LED RGB

Schéma de Câblage

Schéma de Câblage Ruban LED RGB 12V sur Arduino UNO Q

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Connexion Détails
MCU Arduino UNO Q D6 Relais 1 IN (canal ROUGE)
MCU Arduino UNO Q D7 Relais 2 IN (canal VERT)
MCU Arduino UNO Q D5 Relais 3 IN (canal BLEU)
COM de chaque relais Positif de l'alimentation 12V
NO de chaque relais Broche R/G/B correspondante du ruban LED
Broche 12V+ du ruban LED Positif de l'alimentation 12V
GND du ruban LED Négatif de l'alimentation 12V

Code Arduino UNO Q — Cycle de Couleurs RGB

/* * Ce code Arduino UNO Q a été développé par newbiely.fr * Ce code Arduino UNO Q est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/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); }

Sortie de la Console App Lab

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

Cette section montre comment utiliser les deux processeurs de l'Arduino UNO Q pour contrôler la couleur du ruban LED RGB depuis le côté Linux via Bridge :

  • Les 3 relais sont contrôlés par le MCU — le MCU expose une fonction set_color() via Bridge
  • Le MPU ne peut pas contrôler les broches du relais directement — il appelle Bridge pour changer la couleur du ruban LED
  • Le MPU dispose du Wi-Fi — exécutant Debian Linux complet, il peut accepter des commandes de couleur Telegram et mettre instantanément à jour le ruban LED
  • Arduino_RouterBridge permet la communication RPC entre les deux processeurs
  • ⚠️ /dev/ttyHS1 (Linux) et Serial1 (MCU) sont RÉSERVÉS par le routeur — ne les ouvrez jamais dans le code utilisateur

Code MCU (Bridge)

/* * Ce code Arduino UNO Q a été développé par newbiely.fr * Ce code Arduino UNO Q est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/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() {}

Code Python (Bridge)

/* * Ce code Arduino UNO Q a été développé par newbiely.fr * Ce code Arduino UNO Q est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/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)

Étapes Rapides

  • Connecter : Câblez le ruban LED RGB à l'Arduino UNO Q via 3 relais comme indiqué dans le schéma de câblage RGB.
  • Ouvrir Arduino App Lab et créer une nouvelle application nommée LedStripBridge.
  • Coller le sketch MCU dans sketch/sketch.ino.
  • Coller le code Python dans le fichier Python.
  • 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
  • Téléverser : Cliquez sur le bouton Run. Observez le ruban LED faire défiler toutes les couleurs.
Cliquer sur le bouton Run dans Arduino App Lab sur Arduino UNO Q

Sortie de la Console App Lab

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

Contrôlez la couleur du ruban LED RGB à distance depuis Telegram — envoyez /color red, /color blue ou n'importe quel nom de couleur supporté pour changer instantanément la couleur du ruban LED sur votre Arduino UNO Q.

Sketch MCU : Conservez le même sketch MCU de la section Bridge précédente.

Code Python (Telegram)

/* * Ce code Arduino UNO Q a été développé par newbiely.fr * Ce code Arduino UNO Q est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/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)

Étapes Rapides

  • Remplacez YOUR_TELEGRAM_BOT_TOKEN par votre vrai token de bot obtenu depuis BotFather.
  • Remplacez YOUR_CHAT_ID par votre identifiant de chat Telegram.
  • Collez ce code Python dans le fichier Python de votre application (conservez le même sketch MCU).
  • Cliquez sur le bouton Run — envoyez /color red dans Telegram pour changer la couleur du ruban LED.

Sortie de la Console App Lab

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

Intégration d'OpenClaw

Vous pouvez adapter OpenClaw à ce tutoriel en vous référant aux instructions du tutoriel Arduino UNO Q - OpenClaw.

Idées de Projets

Vous pouvez réaliser de nombreux projets utiles avec le ruban LED et Arduino UNO Q :

  • Éclairage d'ambiance Telegram : Contrôlez la couleur du ruban LED RGB de votre chambre depuis Telegram à tout moment — envoyez /color blue pour une atmosphère fraîche en soirée ou /color white pour le mode travail
  • Lumière de notification : Combinez avec le tutoriel capteur de gaz — lorsque du gaz est détecté, Python met le ruban LED en rouge (alerte) via Bridge ; lorsque c'est résolu, il revient au blanc (normal)
  • Éclairage basé sur un planning : Utilisez le module time de Python pour changer automatiquement les couleurs du ruban LED selon l'heure de la journée — blanc chaud le soir, blanc froid le matin — sans aucune entrée Telegram
  • Éclairage réactif à la musique : Combinez avec le capteur sonore — lorsque le capteur détecte un rythme, Python fait défiler les couleurs rapidement pour un effet de lumière réactive à la musique
  • Panneau d'indicateur de statut : Utilisez le ruban LED comme indicateur de statut pour une salle de serveurs ou un atelier — vert = tous les systèmes normaux, jaune = avertissement, rouge = alerte critique — contrôlé par Bridge depuis n'importe quel script de surveillance

Défiez-vous

Prêt à aller plus loin avec le ruban LED sur Arduino UNO Q ? Essayez ces défis :

  • Facile : Ajouter une commande Telegram /blink <color> <count> qui fait clignoter le ruban LED dans la couleur sélectionnée un nombre spécifié de fois, avec 500 ms allumé et 500 ms éteint par clignotement.
  • Moyen : Implémenter un mode de cycle de couleurs fluide : lorsque /mode cycle est envoyé via Telegram, Python entre dans une boucle qui fait défiler toutes les 7 couleurs avec une pause de 3 secondes, et /mode stop sort du cycle et éteint le ruban.
  • Avancé : Construire une alarme lever du soleil : à une heure définie par l'utilisateur (définie via une commande Telegram /alarm HH:MM), Python fait progressivement passer le ruban LED de éteint → rouge → jaune → blanc sur 10 minutes, simulant une expérience de réveil naturel au lever du soleil.

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !