Contrôleur GrowBox piloté par Arduino – Firmware open-source et guide matériel
Composants et fournitures
| Composant | Quantité |
|---|---|
| Arduino Mega 2560 | 1 |
| Shield Ethernet Arduino 2 | 1 |
| Capteur de température DHT22 | 2 |
| Capteur de température étanche DS18B20 (Adafruit) | 2 |
| Shield 4 relais Arduino | 1 |
| Seeed Grove - RTC (horloge temps réel) | 1 |
Outils et machines nécessaires
- Fer à souder (générique)
Applications et services en ligne
- EmonCMS
À propos de ce projet
Le contrôleur Arduino GrowBox est disponible sur GitHub. Je partage enfin, sous licence GPL3, le firmware que j'ai développé ces dernières années pour ma GrowBox.
Sur mon site web, j'ai déjà partagé la construction de ma GrowBox, les modifications au fil du temps et des photos de cultures.
Grâce à l'Arduino Mega 2560 Rev.3, ce firmware open source offre un petit serveur web pour la configuration, l'envoi de données vers une instance EmonCMS et l'enregistrement sur carte SD. Les fichiers CSV sont téléchargeables depuis la page web du contrôleur.
Le contrôleur utilise des capteurs DHT22 pour la température et l'humidité (intérieur et extérieur). Les DS18B20 surveillent la température d'un pot échantillon et du sol.
L'Ethernet Shield permet la configuration à distance, la visualisation des données et le téléchargement des logs. Cela rend l'afficheur LCD 20x4 redondant, mais utile quand on ne veut pas allumer son téléphone ou tablette.
L'intégration EmonCMS permet de garder un historique et de suivre les tendances, depuis n'importe où. Si vous utilisez déjà EmonCMS pour la surveillance énergétique, vous pouvez l'intégrer aussi.
Depuis l'an dernier je ne cultive que des piments, mais en 2018 j'ai cultivé tomates, courgettes, piments (pas les forts !), aubergines, pastèques et melons pour mon potager. Un démarrage plus précoce car l'été est court chez moi et je ne peux pas semer en pleine terre. Manger des tomates en juin, c'est génial !
Fonctions implémentées sur le contrôleur Arduino GrowBox
Contrôle des paramètres environnementaux
Contrôle de la température de la GrowBox
Possibilité de définir des seuils de chauffage :
- Température min : En dessous, le chauffage s'active
- Température max : Au-dessus, le chauffage se désactive
Seuils d'humidité
Possibilité de définir des seuils pour l'humidificateur :
- Humidité min : %HR en dessous, l'humidificateur s'active
- Humidité max : %HR au-dessus, l'humidificateur se désactive
Température du sol/sable
- Temp. sol min : Le contrôleur active le chauffage si la température du sol est sous ce seuil (et si la température interne est aussi sous son minimum)
- Temp. sol max : Le contrôleur désactive le chauffage même si la température interne le demanderait. Ceci pour éviter d'endommager le pot et les racines.
Contrôle de l'éclairage
- Heure de début : Heure d'allumage des lampes
- Minute de début : Minute d'allumage
- Heure de fin : Heure d'extinction
- Minute de fin : Minute d'extinction
Exemple : pour allumer à 6h30 et éteindre à 22h30 :
- Heure début : 6
- Minute début : 30
- Heure fin : 22
- Minute fin : 30
Réseau
Paramètres réseau local :
- Adresse IP : IP statique de votre choix
- Masque de sous-réseau : Votre masque
- Passerelle : IP de votre passerelle
- DHCP : Cochez si vous utilisez DHCP (la config ci-dessus sera ignorée)
Ventilateurs
Certaines lampes chauffent beaucoup dans les growbox, on peut programmer différemment "nuit" et "jour".
Ventilateurs - Lumière ALLUMÉE
- Durée : en minutes
- Intervalle : entre activations, en heures
Ventilateurs - Lumière ÉTEINTE
- Durée : en minutes
- Intervalle : entre activations, en heures
Horloge temps réel (RTC)
Réglez votre heure locale pour des logs précis et redémarrer le programme en cas de coupure secteur.
Fréquence d'acquisition et de journalisation
J'ai séparé ces deux paramètres car le contrôleur peut réagir vite (acquisition rapide) mais on n'a pas besoin de toutes ces données. Une journalisation plus rapide crée des fichiers CSV plus gros, plus de données vers EmonCMS et des téléchargements plus lents.
- Taux d'échantillonnage : en secondes. Le contrôleur peut réagir plus vite.
- Taux de transmission et journalisation : minutes entre mise à jour CSV et envoi vers EmonCMS.
PCB pour Arduino GrowBox Controller
J'ai commencé à concevoir un "shield" pour Arduino Mega, pour connecter facilement le shield Ethernet, les relais et les capteurs. Réalisé avec Eagle, les sources sont sur GitHub.
Prochaines étapes
C'est ma troisième année de culture (piments et autres légumes), mais il me manque encore des fonctions que j'intégrerai :
- PID pour le chauffage, en utilisant un relais statique (SSR) pour contrôler l'élément chauffant et améliorer l'efficacité énergétique et la précision
- MQTT, pour intégrer cet appareil dans des systèmes domotiques ou plateformes IoT comme ThingsBoard.io
- NTP pour régler l'horloge temps réel et éviter les erreurs
- Préchauffage : démarrer le chauffage avant d'éteindre les lampes pour augmenter la stabilité thermique
- Irrigation avec sonde pot échantillon.
J'espère que ce projet vous plaira ! Partagez vos cultures !
Code
Arduino GrowBox Controller
Firmware Arduino pour contrôleur GrowBox : GitHub
Schémas
Shield Arduino GrowBox
Schéma et PCB Eagle pour le shield (pas encore gravé) : GitHub
Processus de fabrication
- Guide professionnel : Animation bitmap sur écran tactile ILI9341 2,4″ avec Visuino
- Système d'éclairage DMX piloté par web – Contrôleur maître Arduino
- Construire un Spybot Arduino piloté par Bluetooth
- Manette de jeu USB Arduino DIY – Construisez votre propre gamepad haute performance
- Unopad : contrôleur MIDI Arduino fluide pour Ableton Live
- Véhicule Télécommandé par Android avec Raspberry Pi et Shield Moteur
- Kit contrôleur d'affichage VFD (afficheur fluorescent sous vide) basé sur Arduino
- Contrôleur domotique Arduino compatible Alexa : Automatisation intelligente simplifiée
- Shield de programmation Arduino sans fil avec Bluetooth HC-05 – Plus besoin d'USB