Arduino UNO Q - Contrôle du Ventilateur
Dans ce guide, vous apprendrez à contrôler un ventilateur avec un relais et l'Arduino UNO Q. Le relais agit comme un interrupteur entre le MCU Arduino UNO Q et l'alimentation du ventilateur.

WARNING
Lorsque vous travaillez sur des projets connectés au secteur, 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, ne le tentez pas. Cherchez plutôt l'aide d'une personne expérimentée.
Nous recommandons de tester avec un ventilateur DC (jusqu'à 24V) plutôt qu'un ventilateur alimenté en AC.
Matériel Requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À Propos du Ventilateur DC
Brochage
Un ventilateur DC a généralement deux fils :
- Fil négatif (−) (noir) : Connectez au pôle négatif de l'alimentation DC
- Fil positif (+) (rouge) : Connectez au pôle positif de l'alimentation DC

Assurez-vous que la tension de votre alimentation correspond à celle requise par le ventilateur (ex. 5V ou 12V).
Comment Contrôler le Ventilateur
- Si un ventilateur DC est directement connecté à une alimentation, il tourne en permanence à pleine vitesse.
- Pour allumer et éteindre le ventilateur depuis le MCU, utilisez un relais entre l'Arduino UNO Q et l'alimentation du ventilateur.
Dans ce tutoriel, nous utilisons un relais pour commuter le ventilateur. Si vous ne connaissez pas encore les relais, consultez d'abord le tutoriel Arduino UNO Q - Relais.
Schéma de Câblage

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Connectez le ventilateur 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 le ventilateur pendant 5 secondes et l'éteint pendant 5 secondes de façon répétée :
É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 le ventilateur 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.

- Donnez un nom à l'application, par exemple : DIYables_Fan
- Cliquez sur Créer pour confirmer.
- Vous verrez un ensemble de dossiers et de fichiers générés dans votre nouvelle application.

- Trouvez le fichier sketch/sketch.ino — c'est là que vous collerez le programme MCU.
- Install the library: Click the Add sketch library button (the open book icon with a + sign) in the left sidebar.

- Search for Arduino_RouterBridge created by Arduino and click the Install button.
- Téléverser : Cliquez sur le bouton Exécuter dans Arduino App Lab pour compiler et téléverser vers le STM32.

- Tester : Le ventilateur 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 le ventilateur) 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("fan_on") ou Bridge.call("fan_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 le ventilateur à 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 → le ventilateur s'allume ou s'éteint.
Programme MCU — contrôle du ventilateur avec Bridge :
Script Python (Arduino App Lab) — allume le ventilateur 5 secondes, éteint 5 secondes :
- 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 le ventilateur toutes les 5 secondes.
- Vérifier la console : Ouvrez l'onglet Console → sous-onglet Moniteur MCU pour voir l'état du ventilateur.
Sortie de la Console App Lab
Intégration Telegram
Contrôlez le ventilateur à 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 le ventilateur :
- Remarque : Remplacez YOUR_BOT_TOKEN par le token obtenu depuis @BotFather sur Telegram.
- Envoyez /on pour démarrer le ventilateur ; /off pour l'arrêter.
É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 le ventilateur.
Sortie de la Console App Lab
ArduinoBot
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
- Système de refroidissement intelligent : Allumez le ventilateur automatiquement quand la température dépasse un seuil
- Contrôle de ventilation : Programmez le ventilateur pour fonctionner à des heures spécifiques de la journée
- Ventilateur de chambre à distance : Contrôlez un ventilateur de chambre depuis votre téléphone via Telegram avant de rentrer chez vous
- Refroidissement de salle serveur : Déclenchez le ventilateur selon les lectures de température CPU
Mettez-Vous au Défi
- Facile : Changez l'intervalle d'allumage/extinction de 5 secondes à 10 secondes
- Moyen : Ajoutez une commande /bascule qui change l'état du ventilateur vers l'état opposé
- Avancé : Combinez avec un capteur de température pour allumer le ventilateur automatiquement quand la température est élevée