Table des matières:

Bricolage - Irrigation de jardin automatisée - (Arduino / IOT): 9 étapes (avec photos)
Bricolage - Irrigation de jardin automatisée - (Arduino / IOT): 9 étapes (avec photos)

Vidéo: Bricolage - Irrigation de jardin automatisée - (Arduino / IOT): 9 étapes (avec photos)

Vidéo: Bricolage - Irrigation de jardin automatisée - (Arduino / IOT): 9 étapes (avec photos)
Vidéo: #DIY Fabrique un traqueur GPS toi-même pour 10 euro sur Arduino! [ tuto Débutant en Français ] 2024, Juillet
Anonim
Bricolage - Irrigation de jardin automatisée - (Arduino / IOT)
Bricolage - Irrigation de jardin automatisée - (Arduino / IOT)
Bricolage - Irrigation de jardin automatisée - (Arduino / IOT)
Bricolage - Irrigation de jardin automatisée - (Arduino / IOT)
Bricolage - Irrigation de jardin automatisée - (Arduino / IOT)
Bricolage - Irrigation de jardin automatisée - (Arduino / IOT)

Ce projet vous montrera comment construire un contrôleur d'irrigation pour un jardin potager. Capable de mesurer les lectures d'humidité du sol et d'activer l'irrigation à partir d'un robinet de jardin si le sol devient trop sec. Le contrôleur comprend également un capteur de température et d'humidité. Le contrôleur n'activera pas le robinet du jardin si la température est trop basse. Les lectures des capteurs et les statistiques sur l'utilisation de l'eau / les temps d'exécution sont enregistrées sur ThingsBoard IOT pour la visualisation et l'analyse. Des alertes et des e-mails sont déclenchés si le contrôleur d'irrigation arrête de transmettre des données, le sol devient trop sec ou trop saturé.

Conditions préalables

  • Connaissances Arduino, y compris au moins le codage de base pour Arduino et la soudure.
  • 1x robinet de jardin pressurisé

Nomenclature

  • Tuyau en poly d'irrigation de jardin, jets, goutteurs, etc.
  • Minuterie de robinet électronique à deux cadrans (c.-à-d.: Minuterie de robinet numérique électronique Aqua Systems)
  • Robinet réducteur de pression 300kpa
  • Arduino Uno
  • Bouclier Lora Arduino
  • Lora Gateway (pas nécessaire si vous avez une passerelle Things Network locale à portée)
  • Capteur d'humidité de la température DHT11
  • Relais 5v
  • Câble téléphonique
  • Attaches de câble
  • Tube ondulé fendu automobile
  • Bandes de connexion de borne automobile
  • 2x clous galvanisés
  • 1x résistance
  • Silicium / Calfeutrage
  • Ciment PVC
  • Apprêt PVC
  • Tuyau PVC largeur 32 mm x longueur 60 mm
  • Tuyau PVC largeur 90 mm x longueur 30 cm
  • 3x embouts à pousser en PVC 90mm
  • 1x embout à vis en PVC 90mm
  • 1x raccord fileté en PVC 90mm
  • 1x embouts à pousser en PVC 32mm
  • 1x source d'alimentation 3,2 V (minuterie) [piles, adaptateur multivoltage AC]
  • 1x source d'alimentation 6-12V (arduino) [piles, USB, adaptateur USB vers AC]
  • ruban d'étanchéité pour filetage
  • ruban électrique

Étape 1: Installer l'irrigation du jardin

Installer l'irrigation du jardin
Installer l'irrigation du jardin
Installer l'irrigation du jardin
Installer l'irrigation du jardin

Disposez des tuyaux en poly, ajustez les jets, les conduites d'égouttement et les goutteurs. Le contrôleur d'irrigation fonctionnera avec n'importe quel équipement d'irrigation. À la base, il mesure les lectures d'humidité du sol et active la minuterie du robinet si et quand le sol est trop sec. Le contrôleur peut être calibré pour définir le point bas de saturation, la durée d'activation de la minuterie de prise et la fréquence à laquelle le contrôleur doit vérifier la saturation.

Ces paramètres peuvent être modifiés sur l'arduino et stockés dans la mémoire EPROM. Les paramètres peuvent également être mis à jour par l'intégration IOT. Ce projet exécutera le contrôleur toutes les quatre heures et ouvrira le robinet pendant 3 minutes si le sol est trop sec. Il peut fonctionner plusieurs fois de suite s'il est sec/chaud ou une ou deux fois par jour sinon.

Étape 2: Ajuster la minuterie du robinet

Ajuster la minuterie du robinet
Ajuster la minuterie du robinet

Installez la minuterie du robinet et expérimentez avec les cadrans réglables pour déterminer une fréquence approximative et une durée de fonctionnement qui conviennent le mieux à votre installation d'irrigation. Nous allons supprimer le minuteur et le modifier pour qu'il fonctionne avec un Arduino.

Étape 3: Construire Arduino

Construire Arduino
Construire Arduino
Construire Arduino
Construire Arduino
Construire Arduino
Construire Arduino
Construire Arduino
Construire Arduino

Utilisez le schéma de câblage comme guide pour la construction. Sur les photos, des câbles téléphoniques ont été utilisés et des borniers à vis pour les points de jonction. Un peu de soudure est nécessaire.

Appuyez sur la modification de la minuterie

Démontez soigneusement la minuterie du robinet. Nous allons câbler en dur les deux cadrans réglables afin qu'ils puissent être contrôlés par l'arduino au lieu des cadrans manuels. Le cadran de fréquence gauche sera câblé à la position de réinitialisation afin que le cadran droit puisse être basculé entre la position marche/arrêt. Le cadran droit aura un fil provenant du contact central droit et du contact extérieur droit, comme indiqué. Par défaut, la minuterie sera en position d'arrêt. Si les deux fils entrent en contact, la minuterie se met en marche. Avec les deux fils connectés à un relais 5V, un arduino peut alors fermer/ouvrir le contact entre les deux fils. Avec un fil dans la borne de relais commune et l'autre dans la borne normalement fermée, nous nous assurerons que la minuterie est éteinte lorsque l'arduino est éteint. Le réglage de la broche du relais sur HIGH activera la minuterie; le régler sur LOW éteindra la minuterie.

Sonde de sol

Pour ce projet, les deux clous sont soudés à un fil connecté à des bornes à vis. La borne d'un clou va directement à la terre. L'autre se connecte à une entrée analogique dans l'arduino et à une résistance. La résistance se connecte au signal arduinos 5v. Montré dans le diagramme d'essorage.

Capteur de température/humidité

Le capteur de température/humidité DHT11 est connecté au 5V de l'arduino, à la terre et à une broche numérique sur l'arduino.

Bouclier de Lora

Ce projet a également utilisé un Dragino Lora Shield (non illustré dans le schéma de câblage).

Base en PVC

La base en PVC de l'arduino utilisée dans ce projet a été conçue de manière à ce que le capteur de température/humidité puisse être exposé tout en gardant tous les autres composants fixés à l'intérieur du boîtier étanche en PVC. Un petit trou est percé/découpé pour le capteur et du silicium est utilisé pour le maintenir en place tout en empêchant l'humidité d'atteindre l'arduino. Montré dans le diagramme.

Étape 4: Programmation Arduino

Programmation Arduino
Programmation Arduino

Connectez les composants entre eux via une maquette ou des borniers pour la programmation et les tests

Configuration de l'EPROM

Nous devons d'abord écrire les variables de configuration dans la mémoire EPROM. Exécutez le code suivant sur votre arduino:

Code disponible sur Github

Ici, la valeur DRY_VALUE est fixée à 960. 1024 signifie que le sol est complètement sec, 0 signifie une saturation complète, 960 était un bon niveau de saturation pour la résistance, la longueur de câble et les clous utilisés. Cela peut varier en fonction de votre propre configuration.

VALVE_OPEN est défini sur 180000 millisecondes (3 minutes). Quand/si le minuteur est activé, il restera ouvert pendant 3 minutes.

RUN_INTERVAL est défini sur 14400000 millisecondes (4 heures). Cela signifie que le contrôleur vérifiera l'humidité du sol toutes les quatre heures et activera la minuterie du robinet pendant 3 minutes si la saturation est faible (supérieure à 960).

Le code ci-dessus peut être changé et ces valeurs modifiées à tout moment.

Code de programme

Code disponible sur Github

Dépendances:

  • Action Temporisée
  • Tête radio

Cet exemple a utilisé le bouclier Dragino Lora et en particulier l'exemple simultané Lora avec le bouclier se connectant directement à la passerelle Dragino Lora.

Cela peut être adapté pour utiliser le Things Network en supprimant le code sous la section "BEGIN: lora vars" et en modifiant le programme pour inclure l'exemple Dragino suivant ou adapté pour fonctionner avec d'autres radios/wifi shields, etc.

Le code fourni suppose que DHT11_PIN est la broche numérique 4, le RELAY_PIN est la broche numérique 3 et la broche analogique de l'humidité du sol est l'entrée analogique 0.

Une variable de débogage peut être définie sur true afin que les messages de débogage série puissent être enregistrés à une vitesse de transmission de 9600.

Étape 5: Construction de l'enceinte

Construction de l'enceinte
Construction de l'enceinte

Coupez le tuyau en PVC en fonction de la minuterie et de la base Arduino. Percez des trous pour le raccord du robinet de la minuterie et le raccord du tuyau. Percez des trous dans le tuyau assez larges pour le conduit automobile, glissez des longueurs de 10 cm de conduit dans les trous et sortez les fils de l'arduino et de la minuterie du robinet. Cela devrait inclure:

De l'Arduino

  • Des fils d'alimentation et/ou un câble usb depuis le port USB de l'arduino.
  • Câbles d'humidité du sol (VCC, GND, A0)
  • Deux fils des bornes à vis NC et communes du relais

Depuis le minuteur

  • Câbles d'alimentation
  • Deux fils des contacts du cadran droit

Étape 6: Testez le contrôleur avant de coller

Testez le contrôleur avant de coller
Testez le contrôleur avant de coller
Testez le contrôleur avant de coller
Testez le contrôleur avant de coller

Assurez-vous que tout fonctionne encore avant de tout sceller.

Les photos ci-dessus montrent un exemple de configuration dans un esky où la sonde d'humidité du sol a été placée dans un pot et la minuterie du robinet a été équipée d'eau provenant d'une bouteille de boisson gazeuse.

Un goutteur était attaché à la minuterie du robinet.

C'était un bon moyen de vérifier que la configuration n'avait pas trop ou sous-arrosé la plante.

Cet exemple peut être exécuté aussi longtemps que nécessaire pour étalonner le contrôleur.

Étape 7: Coller / Boîtiers étanches

Colle / Boîtiers étanches
Colle / Boîtiers étanches

Utilisez un apprêt PVC et de la colle PVC pour fixer les embouts et le couplage.

Utilisez du calfeutrage/silicium pour combler tous les espaces autour du conduit automatique et des raccords de la minuterie du robinet.

Ici, un embout à vis est utilisé sur le boîtier arduino pour l'accessibilité.

Étape 8: Installer

Installer
Installer
Installer
Installer
Installer
Installer

Installer par temps clair. Les composants et les fils devront rester secs avant d'être scellés.

Placez le contrôleur quelque part centré entre l'endroit où se trouve le robinet de jardin et l'endroit où la sonde de sol sera placée.

Installez la minuterie et assurez-vous qu'elle n'est pas alimentée jusqu'à ce que l'installation soit terminée.

Monter la sonde de sol.

Fixez les bornes à dénuder à chaque composant, puis posez le câble téléphonique à partir des bornes à vis de chaque composant en vous assurant que le câble est recouvert d'un conduit automatique. Tout connecter ensemble

Sceller toutes les bornes et toutes les autres pièces exposées avec du ruban d'étanchéité fileté puis du ruban électrique.

Sceller toutes les zones desserrées/exposées du conduit fendu avec du ruban d'étanchéité fileté puis du ruban électrique.

Connectez la minuterie à une source d'alimentation 3.2v. Soit un bloc-piles, soit un adaptateur 3,2 V CC - CA branché sur une prise secteur.

Connectez l'Arduino à une source d'alimentation 6-12V DC. Soit une batterie ou un adaptateur USB / DC-AC fonctionnant sur une prise secteur.

Mettez sous tension et testez !

Étape 9: Intégration de ThingsBoard - Surveillance et création de rapports

Intégration de ThingsBoard - Surveillance et rapports
Intégration de ThingsBoard - Surveillance et rapports

Cet exemple utilise un bouclier Dragino Lora connecté à une passerelle Dragino Lora. Que vous utilisiez cette configuration, une autre configuration Lora ou toute autre connectivité IOT, les données collectées par le contrôleur d'irrigation peuvent être transférées sur une plate-forme IOT telle que Thingsboard. Par défaut, le programme transmet la chaîne de données suivante où chaque octet de caractère est codé en hexadécimal:

TXXXHXXXSXXXXRX

Où T est suivi de la température, H est suivi de l'humidité, S est suivi du niveau de saturation et R est suivi d'un seul chiffre relatif à l'action qu'il a effectuée lors du dernier intervalle d'exécution. Cela peut être de 0 à 5, où chaque chiffre signifie:

0: Le programme est en cours d'initialisation1: Défaut du capteur de température2: La température était trop basse pour fonctionner3: L'humidité du sol est trop sèche donc le minuteur du robinet a été activé4: L'humidité du sol est correcte donc le minuteur n'a pas été activé5: Le contrôleur d'irrigation a été désactivé

Il existe plusieurs façons d'installer une copie de Thingsboard sur votre propre équipement ou vous pouvez créer un compte gratuit sur notre installation de ThingsBoard ici.

Configurer votre appareil dans Thingsboard

Suivez ces instructions pour ajouter un nouvel appareil dans Thingsboard en l'appelant « contrôleur d'irrigation ».

Transférer les données de télémétrie à partir de l'appareil

Suivez ces instructions pour configurer une méthode de transfert des données de télémétrie de l'appareil vers Thingboard via MQTT, HTTP ou CoAp.

Sur notre serveur, nous envoyons le JSON suivant vers https://thingsboard.meansofproduction.tech/api/v1/… toutes les quatre heures lorsque l'appareil est exécuté (avec des données en direct):

Nous transmettons également périodiquement les attributs suivants à https://thingsboard.meansofproduction.tech/api/v1/… avec des données sur la dernière fois que le nœud a été vu:

Ceci est utilisé pour les alertes qui sont déclenchées si l'appareil arrête de transmettre des données.

Créer un tableau de bord

Créez un tableau de bord comme décrit ici. Nos widgets incluent:

Un widget de carte simple créé à partir du champ de télémétrie lastRunResult. Une jauge numérique verticale pour le champ de télémétrie de température. Une table de séries chronologiques créée à partir du champ de télémétrie lastRunResult affichant les données des derniers jours. Celui-ci utilise une fonction de post-traitement des données:

renvoie la valeur 1024;

Et définit une valeur minimale et maximale de 0 à 100. De cette façon, le niveau de saturation peut être exprimé en pourcentage. Une jauge pour afficher la valeur d'humidité. Un graphique à barres de série chronologique qui comprend la température, l'humidité et le résultat de l'exécution, regroupés en périodes de 5 heures pour la semaine dernière, agrégés pour afficher les valeurs maximales. Cela nous donne une barre pour un événement de course de quatre heures. Une fonction de post-traitement des données est utilisée pour exprimer le résultat de l'analyse sous la forme 0 ou 120 selon que de l'eau a été analysée ou non. Cela donne un retour visuel facile pour voir à quelle fréquence l'eau coule en une semaine. Une carte HTML statique qui montre une image du jardin.

Alertes courrier électronique

Nous avons utilisé des règles pour configurer des alertes par e-mail pour le contrôleur d'irrigation. Tous utilisent des filtres de messages et une action de plug-in d'action d'envoi de courrier.

Pour envoyer une alerte par e-mail si le contrôleur d'irrigation ne parvient pas à envoyer des données, nous avons utilisé « Filtre des attributs de l'appareil » avec le filtre suivant:

typeof cs.secondsSinceLastSeen !== 'undefined' && cs.secondsSinceLastSeen > 21600

Pour envoyer un e-mail si le sol devient trop sec, utilisez le filtre de télémétrie suivant

type de saturation != "undefined" && saturation > 1010

Pour envoyer un e-mail en fonction si le sol devient trop humide, utilisez le filtre de télémétrie suivant

type de saturation != "indéfini" && saturation

Conseillé: