Arduino UNO Q - Capteur d'Eau
Un capteur d'eau peut détecter les fuites d'eau, les précipitations et les débordements de réservoir. Sur Arduino UNO Q, le signal analogique du capteur est lu par l'ADC 12 bits du MCU (plage 0–4095). Avec Bridge et Telegram, vous recevez des alertes instantanées sur votre téléphone dès que de l'eau est détectée.
Dans ce tutoriel, vous apprendrez :
- Ce qu'est un capteur d'eau et comment il fonctionne
- Comment câbler le capteur d'eau au MCU de l'Arduino UNO Q
- Comment lire la valeur analogique du capteur avec l'ADC 12 bits
- Comment utiliser Bridge pour exposer les lectures du capteur et les événements de détection d'eau au côté Linux (Python)
- Comment recevoir des alertes Telegram lorsque de l'eau est détectée sur Arduino UNO Q
- Comment utiliser OpenClaw sur Arduino UNO Q avec le capteur d'eau

Matériel Requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À Propos du Capteur d'Eau
Brochage
Le capteur d'eau possède trois broches :
- S (Signal) : Sortie analogique — connecter à une broche d'entrée analogique du MCU
- + (VCC) : Alimentation — connecter à 3,3V ou 5V. Dans ce tutoriel, connecté à une broche numérique pour le contrôle de l'alimentation
- - (GND) : Masse

※ Note:
Il est recommandé de connecter VCC à une broche de sortie numérique plutôt qu'au 5V permanent. Alimenter le capteur uniquement lors de la lecture pour réduire la corrosion des pastilles de cuivre dans les environnements humides.
Fonctionnement
Le capteur possède 10 pistes de cuivre — des lignes d'alimentation et de signal alternées. Lorsqu'elles sont sèches, elles sont isolées. Lorsqu'elles sont immergées dans l'eau, l'eau comble les écarts et modifie la résistance.
- Plus d'eau → résistance plus faible → tension de sortie plus élevée → lecture ADC plus élevée
- Moins d'eau → résistance plus élevée → tension de sortie plus faible → lecture ADC plus faible
Le MCU de l'Arduino UNO Q utilise un ADC 12 bits avec une référence de 3,3V, donc les lectures vont de 0 à 4095 (pas de 0 à 1023 comme sur l'Arduino Uno classique). Étalonnez le seuil selon votre capteur spécifique et le type d'eau.
※ Note:
Seules les pistes de cuivre exposées doivent toucher l'eau. Ne jamais immerger la totalité de la carte du capteur ni ses composants. Installez avec les pastilles du capteur orientées vers le bas dans le liquide.
Schéma de Câblage

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
| Water Sensor Pin | Arduino UNO Q MCU |
|---|---|
| * (GND) | GND |
| + (VCC) | D5 (controlled power) |
| S (Signal) | A0 |
Comment Programmer pour le Capteur d'Eau
- Configurer les broches :
- Lire la valeur du capteur :
- Détecter l'eau :
Code Arduino UNO Q
L'Arduino UNO Q dispose de deux processeurs fonctionnant ensemble :
- Le MCU STM32 lit le capteur d'eau via l'ADC 12 bits chaque seconde et affiche le résultat
- 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.
※ Note:
Le MCU de l'Arduino UNO Q utilise un ADC 12 bits (0–4095) avec une référence de 3,3V. C'est différent de l'Arduino Uno classique qui utilise un ADC 10 bits (0–1023) avec une référence de 5V. Ajustez la valeur THRESHOLD en conséquence lors de l'étalonnage.
Étapes Rapides
Première utilisation de l'Arduino UNO Q ? Suivez le tutoriel Démarrer avec Arduino UNO Q avant de continuer.
- Connectez : Câblez le capteur d'eau au MCU de l'Arduino UNO Q comme indiqué dans le schéma de câblage.
- Ouvrez Arduino App Lab : Lancez Arduino App Lab et attendez qu'il détecte votre Arduino UNO Q.
- Créez une nouvelle application : Cliquez sur le bouton Créer une nouvelle application.

- Donnez un nom à l'application, par exemple : WaterSensor
- Cliquez sur Créer pour confirmer.

- Collez le code : Copiez le code MCU ci-dessus et collez-le dans sketch/sketch.ino. Gardez les autres fichiers par défaut.
- Aucune bibliothèque requise — utilise uniquement les fonctions intégrées analogRead() et digitalWrite().
- Téléversez : Cliquez sur le bouton Exécuter dans Arduino App Lab.

- Abaissez progressivement les pastilles du capteur dans un verre d'eau et observez les valeurs ADC augmenter dans le Moniteur Série.
Étalonnage
Après le téléversement, observez les valeurs du capteur :
- Complètement sec : valeur ≈ 0
- Partiellement immergé : valeur ≈ 300–1000
- Principalement immergé : valeur ≈ 1500–3000
Réglez THRESHOLD au-dessus du niveau de bruit à sec (par ex. 500) pour détecter de manière fiable la présence d'eau.
Sortie Console App Lab
Bridge : Linux + MCU
Cette section montre comment programmer les deux processeurs de l'Arduino UNO Q afin que le côté Linux puisse lire les valeurs du capteur et recevoir les événements de détection d'eau via Bridge :
- Le capteur d'eau est connecté au MCU — le MCU lit l'ADC chaque seconde et met en cache la valeur
- Le MPU ne peut pas lire l'ADC directement — il appelle des fonctions Bridge pour obtenir la valeur du capteur, le statut ou les événements
- Le MPU dispose du Wi-Fi — exécutant Debian Linux complet, il peut envoyer des alertes Telegram lors de la première détection d'eau
- Arduino_RouterBridge active 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 MCU lit l'ADC chaque seconde → détecte le changement d'état → définit un indicateur d'événement → le MPU interroge et envoie une alerte Telegram.
Code MCU (Bridge)
Code Python (Bridge)
Étapes Rapides
- Connectez : Câblez le capteur d'eau à l'Arduino UNO Q comme indiqué dans le schéma de câblage.
- Ouvrez Arduino App Lab : Lancez Arduino App Lab et attendez que la carte soit détectée.
- Créez une nouvelle application : Cliquez sur Créer une nouvelle application, nommez-la WaterSensorBridge, puis cliquez sur Créer.
- Collez le sketch MCU : Copiez le code MCU Bridge ci-dessus et collez-le dans sketch/sketch.ino.
- Collez 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.

- Search for Arduino_RouterBridge created by Arduino and click the Install button.
- Téléversez : Cliquez sur le bouton Exécuter dans Arduino App Lab.

- Plongez les pastilles du capteur dans l'eau et observez le changement de statut dans les deux consoles.
Sortie Console App Lab
Telegram
Recevez des alertes Telegram instantanées lorsque de l'eau est détectée par le capteur sur Arduino UNO Q.
Sketch MCU : Conservez le même sketch MCU de la section Bridge précédente.
Code Python (Telegram)
Étapes Rapides
- Remplacez YOUR_TELEGRAM_BOT_TOKEN par votre vrai token de bot obtenu auprès de BotFather.
- Remplacez YOUR_CHAT_ID par votre ID de chat Telegram.
- Collez ce code Python dans le fichier Python de votre application (conservez le même sketch MCU).
- Cliquez sur le bouton Exécuter. Plongez le capteur dans l'eau — recevez l'alerte Telegram instantanément.
Sortie 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 de Projets
Vous pouvez réaliser de nombreux projets utiles avec le capteur d'eau et l'Arduino UNO Q :
- Système d'alerte de fuite : Placer le capteur d'eau sous un évier, une machine à laver ou un chauffe-eau — recevoir une alerte Telegram instantanée lorsqu'une fuite est détectée, avec la valeur ADC brute incluse pour l'évaluation de la gravité
- Pluviomètre : Monter le capteur à l'extérieur sous un abri ouvert pour détecter le début des précipitations — Python enregistre les événements de pluie avec horodatage dans un fichier et envoie un résumé quotidien de pluie à Telegram
- Garde contre le débordement d'aquarium : Positionner le capteur au bord du réservoir — lorsque le niveau d'eau atteint le capteur, le MPU vous alerte via Telegram et déclenche optionnellement un relais via Bridge pour couper la pompe à eau
- Moniteur d'arrosage des plantes : Vérifier l'humidité du sol avec le capteur d'eau — lorsqu'une sécheresse est détectée (faible valeur ADC), envoyer un rappel Telegram pour arroser les plantes
- Moniteur d'inondation de sous-sol : Installer plusieurs capteurs au niveau du sol dans tout un sous-sol — chaque capteur est connecté à une broche analogique séparée, et Python signale via Telegram quelles zones sont inondées
Relevez le Défi
Prêt à aller plus loin avec le capteur d'eau sur Arduino UNO Q ? Essayez ces défis :
- Facile : Ajouter des catégories de niveau d'eau dans Python : si int(value) < 200 → "sec", < 800 → "humide", < 2000 → "mouillé", sinon "inondé" — envoyer la catégorie avec chaque réponse de statut Telegram.
- Moyen : Implémenter un minuteur de délai : après qu'un événement de détection d'eau déclenche une alerte Telegram, attendre 60 secondes avant d'envoyer une autre alerte pour le même événement — éviter le spam lors d'une fuite prolongée.
- Avancé : Enregistrer toutes les lectures du capteur avec horodatage dans un fichier CSV sous Linux toutes les 10 secondes, et implémenter une commande Telegram /report qui envoie un résumé de la dernière heure : valeur minimale, valeur maximale, nombre d'événements de détection d'eau et durée de contact avec l'eau.