Table des matières:

Système d'arrosage autonome des plantes : 4 étapes
Système d'arrosage autonome des plantes : 4 étapes

Vidéo: Système d'arrosage autonome des plantes : 4 étapes

Vidéo: Système d'arrosage autonome des plantes : 4 étapes
Vidéo: Les différents systèmes d'irrigation en agriculture et leurs avantages 2024, Novembre
Anonim
Système d'arrosage autonome des plantes
Système d'arrosage autonome des plantes
Système d'arrosage autonome des plantes
Système d'arrosage autonome des plantes
Système d'arrosage autonome des plantes
Système d'arrosage autonome des plantes

Ce projet présente un système d'arrosage autonome intelligent des plantes. Le système est autonome en énergie à l'aide d'une batterie 12v et d'un panneau solaire, et arrose la plante lorsque les bonnes conditions sont réunies, avec un système bien pensé (je l'espère) à l'épreuve des pannes. Il est intelligent car il communique avec le ou les utilisateurs via l'application Telegram.

Les étapes suivies par le système sont les suivantes:

  • la teneur en eau du sol est toujours surveillée;
  • si la teneur en eau du sol est inférieure à une certaine valeur (max_soil_moisture), le système:

    • (?) vérifie que le réservoir d'eau n'est pas vide (et pendant) l'arrosage pour éviter d'endommager la pompe à sec;
    • (?) vérifie que la période d'arrosage minimale entre deux arrosages est dépassée. Ceci est fait pour éviter d'arroser les plantes trop de fois dans la journée (il vaut mieux avoir un peu de sécheresse à un moment donné), et pour ajouter un peu de sécurité au cas où le capteur d'humidité du sol serait cassé;
    • (?) commencer l'irrigation;
    • arrête l'irrigation chaque fois que:

      • (?) la teneur en eau du sol atteint une certaine valeur (max_soil_moisture) ou;
      • (?) le réservoir d'eau est vide, auquel cas l'arrosage reprendra dès qu'il sera à nouveau rempli, ou;
      • (?) la durée d'arrosage dépasse la durée maximale autorisée pour chaque événement d'arrosage (watering_max_time). Le but ici est d'éviter de faire fonctionner la pompe jusqu'à ce que le réservoir d'eau soit vide s'il y a une fuite dans le système qui empêcherait l'augmentation de l'humidité du sol;
  • (?) vérifie que les plantes sont arrosées au moins à chaque période de temps donnée (max_wo_water), pour éviter qu'elles ne meurent si, par ex. le capteur d'humidité du sol est cassé et renvoie toujours des valeurs élevées;

L'utilisateur est averti par des messages Telegram à chaque étape importante (notée ?). L'utilisateur peut également déclencher manuellement un événement d'irrigation à partir de Telegram, même si la teneur en eau du sol est supérieure à la valeur donnée (max_soil_moisture). Il est également possible d'allumer et d'éteindre tout le système, de demander si le système est opérationnel ou de demander la valeur actuelle de la teneur en eau du sol (voir l'instantané du télégramme).

Fournitures

Matériel

Voici une liste des produits utilisés pour construire le système. Je dois dire que je ne reçois aucune incitation d'Amazon, auprès duquel tous les produits ont été achetés.

Pour contrôler le système:

  • Carte NodeMCU (ESP8266) pour le cerveau, 17,99€
  • Module relais, 11,99€
  • 120 cavaliers de prototypage, 6,99€ -> prototypage
  • 3 maquettes, 8.99€ -> prototypage
  • Coffret étanche, 10,99€
  • Kit résistances 525 pièces, 10,99€
  • PCB imprimé avec des connexions similaires à une maquette, 9.27€
  • Fils électriques toronnés 20, 22 ou 24 AWG selon votre préférence (20 est plus solide mais doit être réduit pour certaines connexions, 22 est bon, 24 est moins cher), 18,99€

Pour l'autonomie en énergie:

  • Batterie 12V, 21,90€
  • Panneau solaire monocristallin 10W wp 12V, 23,90€
  • Régulateur de charge 12/24V, 13,99€

Pour le réservoir d'eau:

  • Pompe à eau 12V, 16,99€
  • Connecteur DC mâle/femelle (pour brancher la pompe), 6,99€

Les capteurs:

  • Flotteur de niveau d'eau, 7.99€
  • Capteur capacitif d'humidité du sol, 9.49€
  • du vernis à ongles pour imperméabiliser le capteur d'humidité du sol, 7,99€;

Et le système d'arrosage:

Système d'arrosage, 22,97€

Pour un total de 237,40€. Ce n'est pas bon marché ! Mais gardez à l'esprit que c'est toujours moins cher qu'un système pré-construit, et avec beaucoup plus de capacités ! De plus, certaines pièces sont uniquement destinées au prototypage (15,98 €), et j'ai acheté de nombreux composants en groupes de plusieurs pièces pour d'autres projets, par ex. 525 résistances est une quantité folle, vous n'avez pas besoin de 3 cartes NodeMCU, ni de 6 relais pour ce projet.

Étape 1: Coder

Pour reproduire ce projet, vous aurez besoin d'outils, de matériel et du code de ce projet.

Code

Pour obtenir le code de ce projet, soit le cloner (ou mieux, le fork) à partir du référentiel Github en utilisant GIT, et si vous ne savez pas ce que signifie GIT, clone and fork, téléchargez-le simplement sur votre ordinateur en utilisant ce lien ?.

Ensuite, configurez-le selon vos besoins !

Pour utiliser Telegram, le NodeMCU doit être connecté à Internet. Je l'ai fait en utilisant son module WIFI et mon WIFI domestique. Pour configurer votre propre connexion, ouvrez le script plant_watering.ino dans Arduino IDE et remplissez les valeurs manquantes pour vos informations d'identification wifi (je suppose que vous avez le WiFi):

Chaîne ssid = "xxxxx"; // Nom de votre pass Wifi String = "xxxxx"; // Mot de passe WiFi

Ensuite, nous allons configurer un bot Telegram, qui est un compte d'utilisateur un peu comme vous l'avez, mais en fait géré par un robot (votre NodeMCU). Pour ce faire, suivez les étapes décrites ici. En quelques mots:

  • Ouvrez Telegram (et connectez-vous avec votre compte);
  • Créez un nouveau bot:

    • Recherchez BotFather dans vos contacts (tapez-le dans la barre de recherche) et ouvrez une conversation avec lui (comme vous le feriez avec tout nouveau contact);
    • Tapez /newbot dans la conversation (surveillez la casse et incluez le /!)
    • Nommez votre bot comme vous le souhaitez, mais terminez-le par "bot" (par exemple, "watering_balcony_bot");
    • Botfather vous donne un jeton de bot, gardez-le très secret (ne le partagez pas avec GIT !!), nous l'utiliserons en quelques étapes;
    • Recherchez-le dans vos contacts et envoyez-lui ce message: /start
    • Copiez le jeton renvoyé par Botfather et collez-le sur votre script plant_watering.ino ici:

      Jeton de chaîne = "xxxxxx:xxxxxxxxxxxxxxxxxxxxxxxx"; // Jeton de bot de télégramme

Votre bot est maintenant vivant !

Pour lui donner la possibilité de communiquer avec vous, il doit connaître votre ID de conversation. Parce que nous voulons pouvoir partager ce que dit le bot avec d'autres personnes au cas où nous sortirions en vacances, je préfère créer un chat de groupe à la place. Alors créez-en un (Nouveau groupe), ajoutez votre bot en recherchant son nom, et ajoutez temporairement un troisième bot nommé IDBot. Ensuite, nommez votre discussion de groupe comme vous le souhaitez. Ouvrez votre discussion de groupe et tapez /getgroupid. IDBot renverra un numéro tel que -xxxxxxxxx (n'oubliez pas le moins lorsque vous le copiez !), c'est votre ID de discussion de groupe !

Vous pouvez également demander à /getid d'obtenir votre identifiant personnel, de sorte que votre bot vous enverra des messages directement à la place (et non au groupe)

Copiez l'ID et collez-le sur votre script plant_watering.ino ici:

int chatID = -00000000; // C'est l'ID de votre chat de groupe Collez le /getid ici à la place si vous voulez que le bot vous envoie des messages directement

Ensuite, supprimez IDBot de votre groupe au cas où (nous ne voulons pas de fuite de données).

Pour la dernière étape, vous devrez installer les bibliothèques CTBot et ArduinoJson. Pour ce faire, tapez ctrl+maj+I, recherchez CTBot et recherchez CTBot de Stefano Ledda, puis cliquez sur installer. Répétez ensuite pour ArduinoJson et recherchez ArduinoJson de Benoit Blanchon, mais installez la version 5.13.5 pour l'instant car CTBot n'est pas encore compatible avec la sixième version (vous pouvez vérifier ici s'il y a des changements).

Et ça y est, votre code est prêt ! Vous pouvez maintenant le télécharger sur le NodeMCU ! S'il y a des erreurs, vérifiez que vous avez sélectionné NodeMCU 1.0 comme type de carte et que vous utilisez la bonne version pour vos bibliothèques.

Étape 2: Outils

Outils

Les outils sont très simples, j'ai utilisé pour ce projet:

  • Un fer à souder + étain (ex 220V 60W);
  • Un multimètre (le mien est un TackLife DM01M);
  • Un tournevis plat (petit c'est mieux);
  • Pince coupante;

Si vous en avez, vous pouvez également ajouter des pinces à dénuder, mais elles ne sont pas indispensables.

Étape 3: Assemblage

Assemblée
Assemblée

Vous pouvez trouver l'assemblage des pièces à l'aide de Fritzing pour ouvrir le projet Fritzing dans le référentiel Github.

NB: le NodeMCU est connecté au contrôleur de charge solaire par un câble USB (celui du schéma n'en a pas). Voir la section Matériel pour un exemple de contrôleur de charge solaire avec USB.

J'ai rendu toutes les pièces personnalisées disponibles dans le dossier fritzing du projet Github (toutes peuvent être trouvées sur Internet sauf le flotteur d'eau parce que je l'ai fait).

Étape 4: Remerciements

Je tiens à remercier mon merveilleux partenaire qui m'a permis de le faire pendant les week-ends! Et bien sûr tous les makers qui ont rendu le projet possible, comme @shurulu pour la super librairie CTBot, EstebanP27 pour son tuto dont j'ai beaucoup appris pour ce projet ! Je tiens également à remercier svgrepo à partir duquel j'ai utilisé des SVG comme base pour le logo.

Conseillé: