Arduino UNO Q - Contrôle de l'Élément Chauffant

Dans ce guide, vous apprendrez à contrôler un élément chauffant avec un relais et l'Arduino UNO Q. Le relais agit comme un interrupteur entre le MCU Arduino UNO Q et l'alimentation de l'élément chauffant.

Arduino UNO Q Contrôle de l'Élément Chauffant

WARNING

Lorsque vous travaillez avec des éléments chauffants, faites preuve d'une extrême prudence. Les éléments chauffants peuvent devenir très chauds et présenter des risques d'incendie et de brûlure. Ne laissez jamais un élément chauffant allumé sans surveillance.

Lorsque vous travaillez sur des projets connectés au secteur, il est essentiel d'avoir les connaissances appropriées pour éviter les chocs électriques. Si vous n'êtes pas complètement sûr de ce que vous faites, cherchez l'aide d'une personne expérimentée.

Nous recommandons de tester avec un élément chauffant DC basse tension pour plus de sécurité.

Matériel Requis

1×Arduino UNO Q
1×USB Cable for Arduino Uno Q
1×Relais
1×Élément chauffant
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 de l'Élément Chauffant

Brochage

Brochage de l'Élément Chauffant

Un élément chauffant a généralement deux fils :

  • Fil positif (+) (rouge) : Connectez au pôle positif de l'alimentation DC
  • Fil négatif (−) (noir) : Connectez au GND de l'alimentation DC

Comment Contrôler l'Élément Chauffant

Lorsqu'un élément chauffant 12V est connecté à une alimentation 12V, il produit de la chaleur. Pour l'allumer et l'éteindre depuis le MCU, nous utilisons un relais entre l'Arduino UNO Q et l'élément chauffant. L'Arduino UNO Q contrôle l'élément chauffant via le relais. Si vous ne connaissez pas encore le fonctionnement d'un relais, consultez d'abord le tutoriel Arduino UNO Q - Relais.

Schéma de Câblage

Schéma de Câblage Arduino UNO Q Contrôle Élément Chauffant

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

Connectez l'élément chauffant via les bornes COM et NO du relais à l'alimentation. La broche IN du relais se connecte à la broche 9 du MCU Arduino UNO Q.

Code MCU

L'Arduino UNO Q dispose 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 allume l'élément chauffant pendant 5 secondes et l'éteint pendant 5 secondes de façon répétée :

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

Étapes Rapides

  • Première utilisation de l'Arduino UNO Q ? Suivez le tutoriel Démarrer avec Arduino UNO Q pour préparer votre environnement de développement avant de continuer.
  • Câblez les composants : Connectez le relais IN → broche 9, DC+ → 5V, DC- → GND. Connectez l'élément chauffant via le relais à l'alimentation.
  • Connecter : Branchez l'Arduino UNO Q sur 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 Créer une nouvelle application.
Créer une nouvelle application dans Arduino App Lab sur Arduino UNO Q
  • Donnez un nom à l'application, par exemple : DIYables_Heater
  • Cliquez sur Créer 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 programme MCU.
  • Coller le programme : 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 Exécuter dans Arduino App Lab pour compiler et téléverser vers le STM32.
    Cliquer sur le bouton Exécuter dans Arduino App Lab sur Arduino UNO Q
    • Tester : L'élément chauffant devrait s'allumer pendant 5 secondes et s'éteindre pendant 5 secondes de façon répétée.

    Programmation Bridge Linux + MCU

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

    • Le relais (et l'élément chauffant) est connecté au MCU (STM32) — relais IN sur la broche 9.
    • Le MPU ne peut pas contrôler le relais directement — il appelle Bridge.call("heater_on") ou Bridge.call("heater_off") sur le MCU, qui configure la broche du relais.
    • Le MPU a le Wi-Fi — car le MPU exécute Debian Linux complet avec Wi-Fi, il peut recevoir des commandes Telegram pour contrôler l'élément chauffant à 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 le routeur Arduino — ne les ouvrez jamais directement

    En résumé : Le MPU envoie la commande → le MCU configure la broche du relais → l'élément chauffant s'allume ou s'éteint.

    Programme MCU — contrôle de l'élément chauffant 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-controls-heating-element */ #include "Arduino_RouterBridge.h" #define RELAY_PIN 9 void heater_on() { digitalWrite(RELAY_PIN, HIGH); Monitor.println("Heating element: ON"); } void heater_off() { digitalWrite(RELAY_PIN, LOW); Monitor.println("Heating element: OFF"); } void setup() { Bridge.begin(); Monitor.begin(); pinMode(RELAY_PIN, OUTPUT); digitalWrite(RELAY_PIN, LOW); Bridge.provide_safe("heater_on", heater_on); Bridge.provide_safe("heater_off", heater_off); Monitor.println("Heating Element Bridge ready"); } void loop() {}

    Script Python (Arduino App Lab) — allume l'élément chauffant 5 secondes, éteint 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-controls-heating-element */ from arduino.app_utils import * import time def loop(): Bridge.call("heater_on") time.sleep(5) Bridge.call("heater_off") time.sleep(5) App.run(user_loop=loop)
    • Remarque : Assurez-vous que Bridge.begin() est appelé dans le programme MCU et que le programme est téléversé avant d'exécuter le script Python côté Linux.
    • ⚠️ Avertissement : N'ouvrez jamais directement /dev/ttyHS1 (sous Linux) ou n'utilisez pas Serial1 (sur MCU) dans votre code — ces ressources sont réservées par le routeur Arduino et y accéder briserait le Bridge.

    Étapes Rapides

    • Téléverser le programme MCU : Ouvrez Arduino App Lab, créez une nouvelle application, collez le programme MCU Bridge dans sketch/sketch.ino, installez la bibliothèque Arduino_RouterBridge, et cliquez sur Exécuter.
    • 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 Exécuter — Python allume et éteint l'élément chauffant toutes les 5 secondes.
    • Vérifier la console : Ouvrez l'onglet Console → sous-onglet Moniteur MCU pour voir l'état du chauffage.

    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
    Heating Element Bridge ready Heating element: ON Heating element: OFF Heating element: ON Heating element: OFF

    Intégration Telegram

    Contrôlez l'élément chauffant à 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.

    Programme MCU : Gardez le même programme MCU de la section Bridge précédente — aucune modification 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 l'élément chauffant :

    /* * 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-controls-heating-element */ 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("heater_on") send_message(chat_id, "Heating element is ON.") elif text == "/off": Bridge.call("heater_off") send_message(chat_id, "Heating element is OFF.") else: send_message(chat_id, "Commands:\n/on — turn heating element on\n/off — turn heating element 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 l'élément chauffant ; /off pour le désactiver.

    Étapes Rapides

    • Téléverser le programme MCU : Utilisez le programme MCU Bridge de la section précédente (téléversez-le d'abord si ce n'est pas encore fait).
    • 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 Exécuter — le bot commence à écouter les messages Telegram.
    • Tester : Envoyez /on et /off pour contrôler l'élément chauffant.

    Sortie de la Console 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:01] Heating element is ON. [2026-04-29 12:05:30] Telegram: /off [2026-04-29 12:05:31] Heating element 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 ✓✓
    Heating element is ON.
    10:16 AM
    /off
    10:17 AM ✓✓
    Heating element 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 et de Projets

    • Thermostat intelligent : Combinez avec un capteur de température pour maintenir automatiquement une température cible
    • Contrôle d'incubateur : Maintenez un incubateur à œufs à une température précise grâce à un contrôle par rétroaction
    • Chauffage de serre : Chauffez automatiquement une serre lorsque la température descend en dessous d'un seuil défini
    • Chauffage à distance : Allumez un radiateur avant d'arriver chez vous via Telegram

    Mettez-Vous au Défi

    • Facile : Changez l'intervalle d'allumage/extinction de 5 secondes à 30 secondes
    • Moyen : Ajoutez une commande /bascule qui change l'état de l'élément chauffant vers l'état opposé
    • Avancé : Combinez avec un capteur de température — allumez automatiquement le chauffage quand la température est en dessous du seuil et éteignez quand elle est au-dessus

    Références des 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 !