Arduino UNO Q - Contrôle de la Pompe

Une pompe 12V peut déplacer de l'eau, de l'huile ou d'autres liquides et est couramment utilisée dans les systèmes d'irrigation, les aquariums et les stations de remplissage d'eau. L'Arduino UNO Q contrôle la pompe via un relais. Avec Bridge et Telegram, vous pouvez allumer ou éteindre la pompe à distance depuis n'importe où.

Dans ce tutoriel, vous apprendrez :

Arduino UNO Q Pompe

Matériel Requis

1×Arduino UNO Q
1×USB Cable for Arduino Uno Q
1×12V Pompe
1×Vinyl Tube
1×Relais
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 la Pompe 12V

Brochage

Une pompe 12V a généralement deux connexions de fil :

  • Fil rouge positif (+) : Connectez à 12V DC via le relais
  • Fil noir négatif (-) : Connectez au GND de l'alimentation DC 12V
Brochage de la Pompe

Comment Contrôler la Pompe

Une pompe 12V nécessite une alimentation 12V — elle ne doit JAMAIS être connectée directement à une broche Arduino UNO Q. Un relais est utilisé comme interface. Le MCU contrôle le relais, qui commute l'alimentation 12V vers la pompe :

  • Broche relais à HIGH → le relais se ferme → 12V vers la pompe → pompe ALLUMÉE
  • Broche relais à LOW → le relais s'ouvre → pas d'alimentation vers la pompe → pompe ÉTEINTE

Schéma de Câblage

Schéma de Câblage Arduino UNO Q Pompe

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

Connectez la broche IN du module relais à la broche MCU D3. Connectez les bornes COM et NO du relais entre l'alimentation 12V et la pompe. Connectez le VCC du relais à 5V et GND à GND.

Broche Relais MCU Arduino UNO Q
GND GND
VCC 5V
IN D3

Comment Programmer pour la Pompe

  • Configurez la broche du relais comme sortie :
pinMode(RELAY_PIN, OUTPUT);
  • Allumer et éteindre la pompe :
digitalWrite(RELAY_PIN, HIGH); // pompe ALLUMÉE delay(5000); digitalWrite(RELAY_PIN, LOW); // pompe ÉTEINTE delay(5000);

Code Arduino UNO Q

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

  • Le MCU STM32 contrôle le relais qui commute l'alimentation 12V vers la pompe
  • Le MPU Qualcomm exécute Debian Linux et gère le Wi-Fi, Python et la connectivité cloud
  • Dans cette section, seul le MCU est programmé — le côté Linux reste inactif. Une section ultérieure montre comment les deux processeurs fonctionnent ensemble via Bridge.

Ce code allume la pompe pendant 5 secondes, puis l'éteint pendant 5 secondes — en répétant continuellement.

/* * 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-pump */ // This code turns the pump ON for 5 seconds and OFF for 5 seconds repeatedly. // The pump requires a 12V power supply and is controlled through a relay. #define RELAY_PIN 3 // The Arduino UNO Q MCU pin connected to the relay IN pin void setup() { Serial.begin(9600); pinMode(RELAY_PIN, OUTPUT); Serial.println("Arduino UNO Q Pump ready"); } void loop() { Serial.println("Pump: ON"); digitalWrite(RELAY_PIN, HIGH); // turn pump ON delay(5000); Serial.println("Pump: OFF"); digitalWrite(RELAY_PIN, LOW); // turn pump OFF delay(5000); }

Étapes Rapides

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

  • Connecter : Câblez la pompe, le relais et l'alimentation 12V sur l'Arduino UNO Q MCU comme indiqué dans le schéma de câblage. Fixez le tube en vinyle aux entrée/sortie de la pompe.
  • 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 : Pump
  • Cliquez sur Créer pour confirmer.
Dossiers et fichiers de l'application Arduino App Lab sur Arduino UNO Q
  • Coller le programme : Copiez le code MCU ci-dessus et collez-le dans sketch/sketch.ino. Laissez les autres fichiers par défaut.
  • Aucune bibliothèque requise — utilise uniquement la fonction intégrée digitalWrite().
  • Téléverser : Cliquez sur le bouton Exécuter dans Arduino App Lab.
Cliquer sur le bouton Exécuter dans Arduino App Lab sur Arduino UNO Q
  • Observez la pompe 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] Arduino UNO Q Pump ready [2026-04-29 09:00:01] Pump: ON [2026-04-29 09:00:06] Pump: OFF [2026-04-29 09:00:11] Pump: ON [2026-04-29 09:00:16] Pump: OFF

Bridge : Linux + MCU

Cette section montre comment programmer les deux processeurs de l'Arduino UNO Q pour que le côté Linux puisse allumer et éteindre la pompe via Bridge :

  • La pompe est connectée au MCU via relais — le MCU contrôle la broche de sortie du relais
  • Le MPU ne peut pas contrôler le relais directement — il appelle des fonctions Bridge pour allumer ou éteindre la pompe
  • Le MPU a le Wi-Fi — exécutant Debian Linux complet, il peut accepter des commandes depuis Telegram ou tout autre service et les traduire en actions de contrôle de la pompe
  • 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

En résumé : Le MPU envoie des commandes on/off → appelle Bridge → le MCU contrôle le relais → la pompe s'active.

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-controls-pump */ #include "Arduino_RouterBridge.h" #define RELAY_PIN 3 // The Arduino UNO Q MCU pin connected to the relay IN pin bool is_on = false; String pump_on(String arg) { digitalWrite(RELAY_PIN, HIGH); is_on = true; Monitor.println("Pump: ON"); return "on"; } String pump_off(String arg) { digitalWrite(RELAY_PIN, LOW); is_on = false; Monitor.println("Pump: OFF"); return "off"; } String get_state(String arg) { return is_on ? "on" : "off"; } void setup() { Bridge.begin(); Monitor.begin(); pinMode(RELAY_PIN, OUTPUT); digitalWrite(RELAY_PIN, LOW); // start with pump off is_on = false; Bridge.provide_safe("pump_on", pump_on); Bridge.provide_safe("pump_off", pump_off); Bridge.provide("get_state", get_state); Monitor.println("Arduino UNO Q Pump Bridge ready"); Monitor.println("Initial state: OFF"); } 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-controls-pump */ from arduino.app_utils import * import time def loop(): state = Bridge.call("get_state") print(f"Pump state: {state}") # Example: run pump for 5 seconds, then stop if state == "off": print("Starting pump...") Bridge.call("pump_on") time.sleep(5) print("Stopping pump...") Bridge.call("pump_off") time.sleep(1) App.run(user_loop=loop)

Étapes Rapides

  • Connecter : Câblez la pompe, le relais et l'alimentation 12V sur l'Arduino UNO Q comme indiqué dans le schéma de câblage.
  • Ouvrir Arduino App Lab : Lancez Arduino App Lab et attendez que la carte soit détectée.
  • Créer une nouvelle application : Cliquez sur Créer une nouvelle application, nommez-la PumpBridge, puis cliquez sur Créer.
  • Coller le programme MCU : Copiez le code MCU Bridge ci-dessus et collez-le dans sketch/sketch.ino.
  • Coller le code Python : Copiez le code Python Bridge ci-dessus et collez-le dans le fichier Python de l'application.
  • 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.
Cliquer sur le bouton Exécuter dans Arduino App Lab sur Arduino UNO Q
  • Regardez le cycle de la pompe : allumée → attendre 5 secondes → éteinte → attendre 1 seconde → répéter.

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 Pump Bridge ready [2026-04-29 09:00:01] Initial state: OFF [2026-04-29 09:00:02] Pump: ON [2026-04-29 09:00:07] Pump: OFF
DIYables_Apps
Stop
sketch.ino
1#include "Arduino_RouterBridge.h"
Serial Monitor
Python
[2026-04-29 09:00:02] Pump state: off [2026-04-29 09:00:02] Starting pump... [2026-04-29 09:00:07] Stopping pump... [2026-04-29 09:00:08] Pump state: off

Telegram

Contrôlez la pompe à distance via Telegram — allumez-la ou éteignez-la depuis n'importe où avec une simple commande.

Programme MCU : Conservez le même programme 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-controls-pump */ 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 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 Pump Bot\n" "/on - Turn the pump ON\n" "/off - Turn the pump OFF\n" "/state - Read current pump state") elif text == "/on": result = Bridge.call("pump_on") send_message(chat_id, f"💧 Pump state: {result}") elif text == "/off": result = Bridge.call("pump_off") send_message(chat_id, f"🔴 Pump state: {result}") elif text == "/state": result = Bridge.call("get_state") send_message(chat_id, f"Pump state: {result}") else: send_message(chat_id, "Unknown command. Send /start for help.") time.sleep(1) App.run(user_loop=loop)

Étapes Rapides

  • Remplacez YOUR_TELEGRAM_BOT_TOKEN par votre vrai token de bot depuis BotFather.
  • Remplacez YOUR_CHAT_ID par votre identifiant de discussion Telegram.
  • Collez ce code Python dans le fichier Python de votre application (conservez le même programme MCU).
  • Cliquez sur le bouton Exécuter. Envoyez /on depuis Telegram pour démarrer la pompe, puis /off pour l'arrêter.

Sortie de la Console App Lab

DIYables_Apps
Stop
sketch.ino
1#include "Arduino_RouterBridge.h"
Serial Monitor
Python
[2026-04-29 09:10:00] Waiting for Telegram messages... [2026-04-29 09:10:05] Received: /on [2026-04-29 09:10:12] Received: /state [2026-04-29 09:10:20] Received: /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
/state
10:15 AM ✓✓
Pump state: off
10:16 AM
/on
10:17 AM ✓✓
💧 Pump state: on
10:18 AM
/state
10:19 AM ✓✓
Pump state: on
10:20 AM
/off
10:21 AM ✓✓
🔴 Pump state: 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 la pompe et l'Arduino UNO Q :

  • Système d'irrigation à distance : Démarrez et arrêtez l'arrosage du jardin depuis n'importe où via Telegram — le côté Linux enregistre chaque session de pompage avec l'heure de début et la durée dans un fichier CSV
  • Arrosage automatique des plantes : Programmez le MPU pour faire tourner la pompe chaque matin pendant 5 minutes en utilisant l'horloge système Linux — aucune intervention manuelle requise
  • Réponse aux inondations : Associez à un capteur de niveau d'eau — lorsque le capteur détecte une montée d'eau, la pompe s'active automatiquement via Bridge pour évacuer l'eau et envoie une alerte Telegram
  • Remplissage automatique d'aquarium : Surveillez le niveau d'eau avec un capteur — quand il descend en dessous du minimum, Python active la pompe pendant 30 secondes pour remplir et envoie une notification Telegram

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