Arduino UNO Q - Relais

Ce tutoriel vous montre comment utiliser un relais avec Arduino UNO Q pour contrôler des appareils fonctionnant sous haute tension ou fort courant, tels que des rubans LED, des ventilateurs, des ampoules, des serrures électromagnétiques et des actionneurs linéaires. Vous apprendrez :

Relais Arduino UNO Q

WARNING

Lorsque vous travaillez sur des projets connectés au secteur électrique, il est essentiel d'avoir les connaissances appropriées pour éviter les chocs électriques. La sécurité est très importante. Si vous n'êtes pas complètement sûr de ce que vous faites, veuillez ne pas tenter de le faire. Cherchez plutôt l'aide d'une personne expérimentée.

Nous recommandons d'utiliser un appareil DC (jusqu'à 24V) pour les tests, même si certains relais peuvent fonctionner avec des appareils DC et AC.

Matériel Requis

1×Arduino UNO Q
1×USB Cable for Arduino Uno Q
1×Relais
1×Bande LED
1×Adaptateur secteur 12V
1×Connecteur d'alimentation DC
1×Plaque d'essai
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 du Relais

Un relais est un interrupteur programmable contrôlé par un microcontrôleur (comme Arduino UNO Q). Il vous permet d'allumer ou d'éteindre automatiquement des appareils haute tension.

Brochage du Relais

Brochage du Relais

Un relais a deux groupes de broches :

Groupe d'entrée (basse tension, se connecte à Arduino UNO Q) :

  • Broche DC- : Connectez à GND (0V).
  • Broche DC+ : Connectez à VCC (5V).
  • Broche IN : Signal de contrôle depuis Arduino UNO Q.

Groupe de sortie (haute tension, se connecte à votre appareil) :

  • Broche COM : Broche commune, utilisée en mode normalement ouvert et normalement fermé.
  • Broche NO : Broche Normalement Ouverte — utilisée en mode normalement ouvert.
  • Broche NC : Broche Normalement Fermée — utilisée en mode normalement fermé.

Comment Ça Fonctionne

Pour les débutants, utilisez le mode déclenchement par niveau HIGH + Normalement Ouvert (NO) :

  • Quand la broche IN reçoit HIGH → le relais ferme le circuit COM–NO → l'appareil s'allume.
  • Quand la broche IN reçoit LOW → le relais ouvre le circuit COM–NO → l'appareil s'éteint.

※ Note:

Différents fabricants peuvent disposer les broches du module relais différemment. Vérifiez toujours et suivez les étiquettes sur votre carte relais.

Comment Connecter l'Appareil Haute Tension

Comment connecter le relais

Schéma de Câblage

Schéma de Câblage du Relais Arduino UNO Q

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

Code MCU

L'Arduino UNO Q possède deux processeurs : le MCU STM32 (gère le contrôle matériel en temps réel) et le MPU Qualcomm (exécute Debian Linux). Dans cette section, seul le MCU STM32 est programmé — le côté Linux reste inactif. Une section ultérieure montrera comment les deux processeurs fonctionnent ensemble.

Le code ci-dessous active et désactive le relais toutes les 500 ms :

/* * 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-relay */ #define RELAY_PIN 9 // The Arduino UNO Q pin connected to the IN pin of the relay void setup() { pinMode(RELAY_PIN, OUTPUT); } void loop() { digitalWrite(RELAY_PIN, HIGH); // turn relay on delay(500); digitalWrite(RELAY_PIN, LOW); // turn relay off delay(500); }

Étapes Rapides

  • Première fois avec Arduino UNO Q ? Suivez le tutoriel Démarrer avec Arduino UNO Q pour préparer votre environnement de développement avant de continuer.
  • Câbler les composants : Connectez IN du relais → broche 9, DC+ → 5V, DC- → GND.
  • Connecter : Branchez l'Arduino UNO Q à votre ordinateur avec un câble USB-C.
  • 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 : DIYables_Relay
  • Cliquez sur Create pour confirmer.
  • Vous verrez un ensemble de dossiers et de fichiers générés dans votre nouvelle application.
Dossiers et fichiers de l'application Arduino App Lab sur Arduino UNO Q
  • Trouvez le fichier sketch/sketch.ino — c'est là que vous collerez le sketch MCU.
  • Coller le sketch : Copiez le code MCU ci-dessus et collez-le dans le fichier sketch. Laissez les autres fichiers par défaut.
    • 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 dans Arduino App Lab pour compiler et téléverser vers le STM32.
    Cliquer sur Run dans Arduino App Lab sur Arduino UNO Q
    • Tester : Vous devriez entendre le relais cliquer toutes les 500 ms.

    Programmation Bridge Linux + MCU

    L'Arduino UNO Q possède deux processeurs qui fonctionnent ensemble : le MPU (Qualcomm, exécute Debian Linux) et le MCU (STM32, exécute Zephyr OS avec votre sketch Arduino). Ils communiquent en utilisant RPC via la bibliothèque Arduino_RouterBridge — jamais via des ports série bruts.

    • Le relais est connecté au MCU (STM32) — IN du relais sur la broche 9.
    • Le MPU ne peut pas contrôler le relais directement — il appelle Bridge.call("relay_on") ou Bridge.call("relay_off") sur le MCU, qui règle la broche du relais en conséquence.
    • Le MPU dispose du Wi-Fi — parce que le MPU exécute Debian Linux complet avec Wi-Fi, il peut accepter des commandes Telegram pour contrôler le relais à distance.
    • Communication : Bridge.call() côté Linux invoque Bridge.provide_safe() côté MCU (car digitalWrite() est utilisé pour contrôler le relais)
    • ⚠️ Réservé : /dev/ttyHS1 (Linux) et Serial1 (MCU) sont utilisés par l'Arduino Router — ne les ouvrez jamais directement

    En résumé : Le MPU envoie une commande relais → le MCU règle la broche du relais → l'appareil s'allume/s'éteint.

    Sketch MCU — contrôle du relais avec 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-relay */ #include "Arduino_RouterBridge.h" #define RELAY_PIN 9 void relay_on() { digitalWrite(RELAY_PIN, HIGH); Monitor.println("Relay: ON"); } void relay_off() { digitalWrite(RELAY_PIN, LOW); Monitor.println("Relay: OFF"); } void setup() { Bridge.begin(); Monitor.begin(); pinMode(RELAY_PIN, OUTPUT); digitalWrite(RELAY_PIN, LOW); // start with relay off Bridge.provide_safe("relay_on", relay_on); Bridge.provide_safe("relay_off", relay_off); Monitor.println("Relay Bridge ready"); } void loop() {}

    Script Python (Arduino App Lab) — basculer le relais on/off toutes les 0,5 secondes :

    /* * 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-relay */ from arduino.app_utils import * import time def loop(): Bridge.call("relay_on") time.sleep(0.5) Bridge.call("relay_off") time.sleep(0.5) App.run(user_loop=loop)
    • Remarque : Assurez-vous que Bridge.begin() est appelé dans le sketch MCU et que le sketch est téléversé avant d'exécuter le script Python côté Linux.
    • ⚠️ Avertissement : N'ouvrez jamais directement /dev/ttyHS1 (sur Linux) ou n'utilisez pas Serial1 (sur MCU) dans votre code — ils sont réservés par l'Arduino Router et y accéder cassera le Bridge.

    Étapes Rapides

    • Téléverser le sketch MCU : Ouvrez Arduino App Lab, créez une nouvelle application, collez le sketch MCU Bridge dans sketch/sketch.ino, installez la bibliothèque Arduino_RouterBridge, et cliquez sur Run.
    • Ajouter le script Python : Collez le code Python ci-dessus dans l'onglet Python de la même application.
    • Exécuter l'application : Cliquez sur Run — Python bascule le relais toutes les 500 ms.
    • Vérifier la console : Ouvrez l'onglet Console → le sous-onglet MCU Monitor pour voir l'état du relais.

    Sortie Console d'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
    Relay Bridge ready Relay: ON Relay: OFF Relay: ON Relay: OFF

    Intégration Telegram

    Contrôlez le relais à distance via Telegram avec les commandes /on et /off.

    Si vous n'avez pas encore de bot Telegram, consultez Arduino UNO Q - Bot Telegram pour obtenir votre token de bot avant de continuer.

    Sketch MCU : Conservez le même sketch MCU de la section Bridge précédente — aucune modification n'est nécessaire. Assurez-vous qu'il est déjà téléversé et en cours d'exécution sur le STM32 avant de continuer.

    Script Python (Arduino App Lab) — bot Telegram pour contrôler le relais :

    /* * 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-relay */ 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("relay_on") send_message(chat_id, "Relay is ON.") elif text == "/off": Bridge.call("relay_off") send_message(chat_id, "Relay is OFF.") else: send_message(chat_id, "Commands:\n/on — turn relay on\n/off — turn relay off") time.sleep(0.5) App.run(user_loop=loop)
    • Remarque : Remplacez YOUR_BOT_TOKEN par le token obtenu depuis @BotFather sur Telegram.
    • Envoyez /on pour activer le relais ; /off pour le désactiver.

    Étapes Rapides

    • Téléverser le sketch MCU : Utilisez le sketch MCU Bridge de la section précédente (téléversez-le d'abord s'il ne l'est pas déjà).
    • Coller le script Telegram : Copiez le code Python ci-dessus dans l'onglet Python de votre application dans Arduino App Lab.
    • Définir votre token : Remplacez YOUR_BOT_TOKEN dans le script par votre vrai token de bot.
    • Exécuter l'application : Cliquez sur Run — le bot commence à écouter les messages Telegram.
    • Tester : Envoyez /on et /off pour contrôler le relais.

    Sortie Console d'App Lab

    DIYables_Apps
    Stop
    sketch.ino
    1#include "Arduino_RouterBridge.h"
    Serial Monitor
    Python
    [2026-04-29 12:00:01] Telegram: /on [2026-04-29 12:00:02] Relay is ON. [2026-04-29 12:01:30] Telegram: /off [2026-04-29 12:01:31] Relay is 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
    /on
    10:15 AM ✓✓
    Relay is ON.
    10:16 AM
    /off
    10:17 AM ✓✓
    Relay is OFF.
    10:18 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 d'Applications/Projets

    • Contrôle d'appareils à distance : Allumez et éteignez lumières, ventilateurs ou chauffages via Telegram depuis n'importe où
    • Commutation programmée : Utilisez le module datetime de Python pour allumer/éteindre des appareils à des heures spécifiques
    • Système de sécurité : Déclenchez un relais de sirène ou d'alarme lorsque votre Raspberry Pi détecte un intrus
    • Contrôle de pompe à eau : Allumez et éteignez une pompe à eau pour l'irrigation depuis votre téléphone

    Défiez-Vous

    • Facile : Changez l'intervalle de basculement de 500 ms à 2 secondes
    • Moyen : Ajoutez une commande /toggle qui fait basculer le relais dans l'état opposé
    • Avancé : Enregistrez chaque changement d'état du relais avec un horodatage dans un fichier sur le MPU

    Références de Fonctions

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