Go Down

Topic: Ma ferme verticale automatisée  (Read 2666 times) previous topic - next topic

bogtus

Sep 29, 2019, 12:06 am Last Edit: May 16, 2020, 12:18 pm by bogtus
Bonjour à tous,


Il m'est souvent venu de faire appel au soutien de ce forum pour pouvoir réaliser mes projets arduino.
Pour une fois j'aimerais faire l'inverse et vous montrer ce que vous m'avez permis de faire.



Cela m'a pris énormément de temps même si le résultat peut paraître simple au final.

Voici le résultat ;
Ma ferme verticale hydroponique

Tous vos commentaires sont plus que bien venus, positif comme négatif.

Voilà l'architecture actuelle
Un module RTC DS3231 pour garder le tout à l'heure
Un module DHT11 pour mesure de la T° & de l'humidité de l'air
Un module DS18B20 pour la mesure de température de l'eau
Une sonde pH à calibrer de manière régulière ( d'où la fonctionnalité de calibrage dans le menu sur l'écran tactile)
Un écran tactile ILI9341 (quel boulot pour l'implémenter !!`#!*? )
avec sa carte SD principalement utilisée pour l'affichage d'image "user-friendly"
Un ESP8266 pour envoyer toutes ces info sur une database INFLUXDB et afficher le résultat en ligne sur Grafana : tout ça est proposé en un par le site Colrysis, faut encore que j'apprenne à envoyer les commandes POST… :)


Des flotteurs pour la mesure du niveau d'eau dans le réservoir qui alimente tout le circuit (ceux-ci bientôt remplacés par un capteur radar, plus facile à installer dans le "toit" du réservoir)

(manque encore le sensor pour la mesure d'electro-négativité qui permet de détecter la richesse de l'eau en nutriments - cependant cela a un sacré coût!)


Schéma cablage

La navigation se fait comme suit:
il y a un écran principal affichant tous les paramètres nécessaires à la ferme verticale :
température - humidité - cycle de lumière - pH et electro-conductivité - niveau d'eau ainsi que l'heure et la date.
Il suffit d'appuyer sur l'un de ces paramètres pour que leur écran de reglage s'affiche, vous pouvez alors facilement paramétrer votre automatisation comme vous le souhaitez. N'oubliez pas de sauvegarder vos modifications en cliquant sur la case "save" en haut à droite de l'écran. Vous pouvez à tout moment revenir en arrière, à l'écran principal en cliquant sur la case home en bas à droite.

L'écran propre à l'EC n'a pas encore été réalisé n'ayant pas eu le sensor. Si cela vous est nécessaire- il vous suffira de copier coller les fonctions drawpHscreen et RefreshpHScreen et de les adapter à votre convenance.



Par exemple pour définir les cycles de lumières:


Ou pour calibrer son sensor de pH (il faut le mettre dans 2 solutions de pH différentes et lui indiquer à chaque fois à quelle valeur de pH cela correspond pour qu'il enregistre et se calibre):



Comme vous pouvez le voir dans le code, il y a un gros travail sur la partie navigation sur l'écran qui prend beaucoup de place dans le code. Elle est cependant assez facile à comprendre si vous y regardez de plus prêt.

Le code se trouve en 2eme page.

Je me suis bien évidemment inspiré de beaucoup d'aide trouvé par-ci par-là, mais tout est fait maison. Ca représente un nombre incalculable d'heures de travail, d'apprentissage et d'itération ;)


Next step? Idéalement une acquisition de données sur un serveur web qui peut afficher l'historique des paramètres de la ferme verticale et l'évolution des données en temps réel.
Un tout autre domaine de compétence.

Je rajouterai les éléments du projet au fur et a mesure de curiosité/besoins/critiques.


hbachetti

Bien, mais en général les membres postent ici des dossiers complets :
- schéma
- code
- mode d'emploi
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

al1fch

#2
Sep 29, 2019, 02:11 pm Last Edit: Sep 29, 2019, 02:29 pm by al1fch
Bonjour

L'esprit de ce sous forum consiste donner, au delà de l'annonce d'une réalisation,  tous les détails de la réalisation (schémas , codes et liens vers les composants) pour permettre à d'autres de s'en inspirer ou reproduire à l'identique.
Non pas seulement dire 'j'ai fait', mais montrer en détail 'comment faire'
Avec cette intéressante réalisation on sent qu'il y a matière à 'montrer comment faire '!



bogtus

Hello,

C'est le but, c'est en cours de construction pour pouvoir fournir des schémas "clairs" (fritzing sucks chez moi :( )

Merci pour vos réac !

al1fch

#4
Sep 29, 2019, 03:13 pm Last Edit: Sep 29, 2019, 03:14 pm by al1fch
Rien de tel que des VRAIS schémas (composants représentés par leurs symboles, pas par leur apparence) quand il s'agit de décrire un fonctionnement !!
Merci !!

bogtus

#5
Sep 29, 2019, 06:57 pm Last Edit: Sep 29, 2019, 07:16 pm by bogtus
Voilà voilà, ca m'a pris une belle aprem pour faire un schéma un peu hybride mais qui plus clair selon moi.



Schéma cablage


Merci de vos réac', c'est du direct mais ca pousse à peaufiner le projet !

hbachetti

L'image est totalement illisible. J'ai mes lunettes sur le nez pourtant.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

bogtus

Aussi rapide que Lucky Luke, à peine eu le temps de le poster que tu avais déjà vu l'image compressée  :) 

Voilà c'est lisible désormais

Schéma cablage


hbachetti

Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

elektrax

beau travail

je ne connais pas la mega adk, la sortie serie tx/rx0, où est relié le tx esp01, est la même qui sert à la console série et au televersement usb ? il y a 3 autres sérial port disponibles sur la mega ?
les flotteurs sont des interrupteurs ? éliminer les 2 10k en les branchant sur des entrées digitales en input_pullup ?
le tft est enfiché directement ou relié par des fils dupont ? le branchement est trop confus pour moi.

un "vrai" schéma ? un arduino avec des modules, le dessin physique est plus parlant pour les débutants, parce que sinon il faut aller au bout des choses et representer les modules par leur schéma interne aussi.
c'est vrai que sous fritzing l'arduino et les modules sont représentés par des dessins

Félicitations

bogtus

Quote
je ne connais pas la mega adk, la sortie serie tx/rx0, où est relié le tx esp01, est la même qui sert à la console série et au televersement usb ?
Tout à fait, je ne fais que commencer à travailler avec les ports Serial, je ne suis pas du tout expert encore mais il me semble que c'est bien le même port Serial que celui utilisé pour faire la console série. Je le mettrai sur le Serial port 2.

Pour le moment j'essaie d'uploader les datas sur Colrysis.com qui propose une database INFLUXdb et un dashboard Grafana ; terrible pour montrer ses résultats en ligne !

Seulement je n'arrive pas du tout à envoyer les requêtes POST, je découvre un tout nouveau monde de communication. Ca parait pourtant si simple mais je bloque complet.


Quote
les flotteurs sont des interrupteurs ?
Oui ce sont bien de simples interrupteurs.

Quote
éliminer les 2 10k en les branchant sur des entrées digitales en input_pullup ?
Très bonne idée, je me demandais juste si dans ce cas, je ne risquais pas d'avoir trop de pertes de jus. Si je fais un pullup, la mesure est vue derrière la résistance ? (coté sortie Arduino)

Je compte à termes mettre un sensor de type radar qui est plus facile à installer et plus précis qu'une série de flotteurs qui nécessitent de percer le réservoir à plusieurs endroits pour les installer

Le vrai schéma sortira soon !
Je trouve le schéma actuel plutot clair, toutes les pins misent en jeu sont déclarées.

elektrax

#11
Oct 25, 2019, 12:40 am Last Edit: Oct 25, 2019, 12:41 am by elektrax
le "vrai schéma" est plutot une réponse à la remarque post #4
ton dessin est parfait

Beau boulot Merci

bogtus

le "vrai schéma" est plutot une réponse à la remarque post #4
ton dessin est parfait

Beau boulot Merci
OUF ! Merci :))

Bonjour,

Sympa cette ferme :)

Avez vous le sketch poster quelque part ?


@+
J'y compte bien dès que je l'aurais rendu plus clair , c'est encore un peu le foutoir et il y a un sacré paquets de lignes ! Entre autre dû à l'écran tactile.


Bonjour
C'est toujours agréable de voir un projet bien aboutir :smiley-mr-green:



Je reste un peu sur "ma faim" avec ta video
qq details sur les equipements peripheriques et la construction mecanique de "ta ferme" ?


encombrement par exemple ?

Message reçu, j'en posterai un peu plus.
Ici mon but était de me limiter à présenter la partie electronique mais en effet pourquoi ne pas aller plus loin :)

La ferme verticale possède ;
un container où l'eau est puisée pour ensuite être pompée dans ce circuit fermé.
Le circuit en lui même est composé de ce container, et de goutières où j'y ai percé des trous afin d'accueillir les paniers qui contiennent les plantes.



Ces paniers permettent de laisser passer les racines de la plante afin qu'elles puissent se baigner et tirer le nécessaire de cette eau qui circule.  (principe de culture de type NFT, où les racines baignent dans un fluide qui circule constamment).
L'eau est oxygénée par une pompe à air située dans le réservoir. C'est un des principaux atouts de cette culture : la suroxygénation de la plante permet de booster sa croissance.

Cette eau est pompée en continue, elle est régulée en pH et en nutriments à l'aide de 4 pompes péristaltiques ; 1 pour le pH + , 1 pour le pH - , 1 pour les nutriments de type A , une pour les nutriments de type B
.


Toutes les prises de mesures sont faites au sein du réservoir d'eau afin de vérifier la bonne gestion de la ferme ( pH, EC, température, niveau d'eau ( à partir de flotteurs - je prévois d'intégrer plutôt un capteur radar pour avoir un niveau d'eau plus précis)




Au niveau de l'encombrement de la ferme verticale, en réalité je n'ai pas construit une structure idéale pour l'indoor :
la structure est oblique afin que chaque étage ne fasse pas de l'ombre à celui d'en dessous, cela est utile pour mettre l'installation dehors au soleil. En indoor, on rajoute de toute façon une lumière artificielle à chaque étage, il n'est donc pas nécessaire d'avoir une structure oblique qui prend beaucoup plus de place qu'une structure droite.





L'écran tactile intègre un menu qui permet de paramétrer tous ces éléments, mon but était de faire quelque chose de user-friendly que n'importe qui pourrait utiliser.
J'ai essayé sur ma copine pour faire le test, ca s'est avéré plutot facile d'utilisation  :D

Le but de ce projet était vraiment de partir sur du lowcost (bonjour Aliexpress) de faire un gros boulot d'automatisation dessus et de pouvoir facilement le répliquer à moindre prix.
C'est pour cette raison que je suis resté sur Arduino et non Raspberry pi qui aurait faciliter beaucoup de choses mais dont le prix des composants est bien plus important.

Prochaine étape: mettre les infos du monitoring en ligne par un ESP8266, la connexion est faite, plus qu'à comprendre comment bien envoyer les informations sur une database INFLUXDB à partir d'un Arduino connecté en Serial avec un ESP8266 (je précise car les libraires pour l'envoi de données sont souvent faites pour un ESP8266 directement).






patgyver

OUF ! Merci :))

J'y compte bien dès que je l'aurais rendu plus clair , c'est encore un peu le foutoir et il y a un sacré paquets de lignes ! Entre autre dû à l'écran tactile.



Message reçu, j'en posterai un peu plus.
Ici mon but était de me limiter à présenter la partie electronique mais en effet pourquoi ne pas aller plus loin :)

La ferme verticale possède ;
un container où l'eau est puisée pour ensuite être pompée dans ce circuit fermé.
Le circuit en lui même est composé de ce container, et de goutières où j'y ai percé des trous afin d'accueillir les paniers qui contiennent les plantes.



Ces paniers permettent de laisser passer les racines de la plante afin qu'elles puissent se baigner et tirer le nécessaire de cette eau qui circule.  (principe de culture de type NFT, où les racines baignent dans un fluide qui circule constamment).
L'eau est oxygénée par une pompe à air située dans le réservoir. C'est un des principaux atouts de cette culture : la suroxygénation de la plante permet de booster sa croissance.

Cette eau est pompée en continue, elle est régulée en pH et en nutriments à l'aide de 4 pompes péristaltiques ; 1 pour le pH + , 1 pour le pH - , 1 pour les nutriments de type A , une pour les nutriments de type B
.


Toutes les prises de mesures sont faites au sein du réservoir d'eau afin de vérifier la bonne gestion de la ferme ( pH, EC, température, niveau d'eau ( à partir de flotteurs - je prévois d'intégrer plutôt un capteur radar pour avoir un niveau d'eau plus précis)




Au niveau de l'encombrement de la ferme verticale, en réalité je n'ai pas construit une structure idéale pour l'indoor :
la structure est oblique afin que chaque étage ne fasse pas de l'ombre à celui d'en dessous, cela est utile pour mettre l'installation dehors au soleil. En indoor, on rajoute de toute façon une lumière artificielle à chaque étage, il n'est donc pas nécessaire d'avoir une structure oblique qui prend beaucoup plus de place qu'une structure droite.





L'écran tactile intègre un menu qui permet de paramétrer tous ces éléments, mon but était de faire quelque chose de user-friendly que n'importe qui pourrait utiliser.
J'ai essayé sur ma copine pour faire le test, ca s'est avéré plutot facile d'utilisation  :D

Le but de ce projet était vraiment de partir sur du lowcost (bonjour Aliexpress) de faire un gros boulot d'automatisation dessus et de pouvoir facilement le répliquer à moindre prix.
C'est pour cette raison que je suis resté sur Arduino et non Raspberry pi qui aurait faciliter beaucoup de choses mais dont le prix des composants est bien plus important.

Prochaine étape: mettre les infos du monitoring en ligne par un ESP8266, la connexion est faite, plus qu'à comprendre comment bien envoyer les informations sur une database INFLUXDB à partir d'un Arduino connecté en Serial avec un ESP8266 (je précise car les libraires pour l'envoi de données sont souvent faites pour un ESP8266 directement).







patgyver

Bonjour.... et bien à présent pour être complet, il ne manque plus que le code....sinon ça sert pas à d'autres....ici, cela s'appelle :"communauté Arduino"....merci

Go Up