Arroseur automatique et connecté
|
Projet basé sur une carte XIAO ESP32C3 et sur l'écosystème Grove de Seeed Studio prévu pour réaliser un arroseur de plante automatique et connecté. Les cartes XIAO de Seeed Studio sont des microcontrôleurs compacts et performants, conçus pour les projets embarqués, l’IoT et les applications nécessitant une faible consommation d’énergie.
Objectifs du projet :
Cet article est un complément à la vidéo publiée sur notre chaine YouTube. Ce projet est également décomposé en plusieurs programmes permettant de tester et d'utiliser les modules et capteurs au fur et à mesure de l'avancée. Sommaire- Partie 1 - Matériel nécessaire et recommandation. |
Partie 1 - Matériel nécessaire
| Modules Grove : - 1 x carte XIAO ESP32C3 102010633 - 1 x shield Grove pour carte XIAO 103020312 - 1 x capteur d’humidité dans le sol Grove 101020008 - 1 x capteur de niveau d’eau Grove 101020635 - 1 x afficheur OLED Grove 104020249 - 1 x module à LED RGB Grove 104020169 - 1 x module relais Grove 103020005 |
Autres : - 1 x pompe à eau 3 Vcc PM3V - 1 x cordon USB Type-C USBC-1M (programmation et alimentation) - 1 x jeu de cordons DuPont et un cordon Grove supplémentaire - 1 x tuyau (tube en silicone) pour la pompe à eau - 2 cm de gaine thermorétractable de Ø 19 mm (pour protéger le capteur d'humidité en fonction de son placement) - 1 x alimentation : - une Power Bank avec cordon USB Type-C, - ou un adaptateur secteur vers USB Type-C |
Partie 2 - Configuration de l'IDE Arduino
|
1. Préparation de l'IDE Arduino : De base, l'IDE Arduino ne comporte pas les cartes et les extensions nécessaires pour programmes des microcontrôleurs ESP32. Cette programmation requiert l'installation d'un package additionnel directement via l'IDE Arduino. Rendez-vous dans les préférences de l'IDE (fichier -> préférences) puis cliquez sur URL de gestionnaire de cartes : Copiez et collez le lien : https://jihulab.com/esp-mirror/espressif/arduino-esp32.git Validez avec OK puis fermez les préférences. |
![]() |
|
2. Installation du package ESP32 : Dans l'onglet latéral gestionnaire de cartes, recherchez ESP32 et installez le package de cartes ESP32 par Expressif Systems. Une fois l'installation terminée, vous pouvez connecter la carte XIAO à votre ordinateur via un cordon USB Type-C. |
![]() |
|
3. Sélection de la carte et du port série virtuel (COM) : La carte connectée, ouvrez le menu déroulant de sélection de carte : Recherchez ESP32C3 puis sélectionnez XIAO_ESP32C3. Sélectionnez également le port COM où est connectée virtuellement la carte. Remarque : Il se peut que vous deviez sélectionner la carte et le port à chaque fois que vous ouvrez un programme. |
![]() |
|
4. Téléchargement du pack de programmes Arduino : Ce tutoriel détaille l'utilisation de chaque capteur ou d'une fonction avec un exemple de programme. Chaque programme ajoute une fonction au projet : Un fichier .ZIP avec les 6 exemples de programmes est à télécharger à cette adresse : Google Drive. Ou chaque programme est téléchargeable individuellement en suivant ce lien.
|
![]() |
Partie 3 - Test du module relais et du capteur d'humidité dans le sol
|
La combinaison du capteur d'humidité dans le sol et du relais permet une réalisation basique d'un système d'arrosage automatique. Au préalable, débranchez la carte XIAO du PC si celle-ci l'était pour les tests précédents. Insérez la carte XIAO dans le shield Grove et assurez-vous que l'inverseur est sur position ON. Connectez le module relais à la broche D8 du shield XIAO ainsi que le capteur d'humidité à la broche A1. La connexion s'effectue grâce aux cordons Grove 4 contacts livrés avec les modules. Ouvrez le premier programme dans l'IDE Arduino. Le relais commute lorsque la valeur analogique mesurée par le capteur d'humidité passe sous un seuil réglé (2000 dans l'exemple de programme). La carte XIAO permet une lecture analogique de 0 à 3,3 Vcc grâce à un convertisseur analogique vers digital (ADC) donnant une lecture de 0 à 4095. Le moniteur série de l'IDE Arduino, renvoi la valeur analogique mesurée comprise entre 0 et 4095. |
|
Partie 4 - Ajout de seuils
|
Pour cette étape, le câblage reste identique au précédant, la seule modification est faite au niveau du programme. Dans ce projet d'arrosage automatique, les seuils définis dans le code servent à décider quand déclencher ou arrêter la pompe selon l’humidité mesurée dans le sol :
Ces 2 seuils forment une hystérésis et évitent que la pompe ne s’active ou ne s'arrête de manière intempestive lorsque la valeur mesurée oscille autour d'un seul seuil. Les deux seuils sont définis selon la plage analogique acceptable pour la XIAO : de 0 à 4095. |
![]() |
Partie 5 - Ajout d'un capteur de niveau
|
Nous ajoutons ensuite un capteur de niveau d’eau Grove à connecter sur le bus I2C. Le shield XIAO en comporte 2, vous pouvez utiliser celui qui vous convient. Ce capteur comporte 20 électrodes de détection de niveau. Ces 20 électrodes sont reparties sur deux parties : une partie haute et une partie basse, disposant chacune de leur propre adresse I2C. Chaque boucle du programme lit les 20 valeurs des 20 électrodes (0 à 255). Les électrodes ayant un seuil dépassant 100 sont considérées comme plongées sous l'eau. Le capteur connecté, le programme téléversé, lancez le moniteur série afin d'avoir une estimation du niveau restant dans votre réservoir. |
![]() |
Partie 6 - Ajout d'un afficheur OLED
|
L'ajout d'un petit écran OLED permet d'obtenir les informations renvoyées par la carte XIAO sans PC, sans moniteur série. En un coup d'œil, il est possible d'obtenir l'humidité dans le sol (analogique), le niveau du réservoir et l'état du relais (et de la pompe). Cet afficheur est connecté au bus I2C, comme le capteur de niveau, de la carte XIAO. Il utilise la librairie U8g2 à télécharger depuis ce dépôt Github. Une fois le fichier ZIP téléchargé, ajoutez-le à l'IDE via croquis → importer une librairie. |
![]() |
Partie 7 - Ajout d'une LED RGB
|
Ce dernier module Grove vous permet d'avoir un retour visuel rapide de l'état du réservoir. Cette LED RGB NeoPixel change de couleur en fonction du niveau du réservoir, de rouge (vide) à vert (plein). Cette LED communique via une liaison digitale avec la carte XIAO. Ce module Grove requiert l'installation de la librairie NeoPixel disponible sur le dépôt Github d'Adafruit.
Une fois le fichier ZIP téléchargé, ajoutez-le à l'IDE via croquis → importer une librairie. |
![]() |
Partie 8 - Webserver et WiFi
|
L’ESP32 intègre une interface Wi-Fi qui lui permet d’héberger une page web locale directement stockée dans le microcontrôleur (fichier HTML dans le programme Arduino). Cette partie en HTML est entièrement personnalisable directement via l'IDE Arduino. Depuis un smartphone, une tablette ou un PC connecté au même réseau local, vous accédez au tableau de bord et pouvez consulter l’état du système en temps réel.
Remarque : l'afficheur OLED indique maintenant l'adresse IP de l'ESP32 afin de s'y connecter facilement. |
![]() |
Partie 9 - Conclusion
|
Basé sur la carte XIAO ESP32C3 et l’écosystème Grove, cet arroseur automatique montre comment réaliser un petit projet domotique connecté, complet et modulaire. Grâce à la mesure de l’humidité du sol, au pilotage d’une pompe via un relais, à la surveillance du niveau d’eau, ainsi qu’à l’affichage visuel (OLED et LED RGB) et à une interface Web locale, l’ensemble offre :
La modularité du montage, avec la possibilité d’ajouter ou de retirer simplement des fonctions, en fait un système évolutif, adapté aussi bien aux débutants qu’aux passionnés d’IoT. Il illustre l’intérêt de combiner capteurs, actionneurs et connectivité pour créer des objets utiles et interactifs. En complément, on peut imaginer y intégrer des fonctionnalités supplémentaires, comme un système de notifications (par exemple un message envoyé sur smartphone ou par e-mail lorsque le réservoir est vide ou que l’humidité est insuffisante), afin de rendre l’arroseur encore plus pratique et connecté. |














Commentaires d'article
Laissez un commentaire