Jardin Automatique Arduino

Un système intelligent d'arrosage automatique basé sur la détection d'humidité du sol

Présentation du projet

Une solution autonome pour l'arrosage optimal des plantes

Ce projet combine l'électronique et la programmation pour créer un système d'arrosage automatique intelligent. À l'aide de capteurs d'humidité placés dans le sol, le système détecte quand une plante a besoin d'eau et active automatiquement une pompe pour l'arroser.

Le jardin automatique utilise un Arduino pour traiter les données des capteurs et contrôler la pompe. Cette solution permet d'optimiser l'utilisation de l'eau tout en assurant la bonne santé des plantes, même pendant les périodes d'absence.

Arduino
C++
Capteurs
Électronique
Pompe à eau
Relais
Arduino
C++
Capteurs
Électronique
Pompe à eau
Relais

Composants utilisés

Les éléments clés qui constituent ce système d'arrosage intelligent

Capteur d'humidité du sol

Capteur d'humidité du sol

Détecte le niveau d'humidité dans le sol. Lorsque le sol devient trop sec, le capteur envoie un signal à l'Arduino pour déclencher l'arrosage.

Mini pompe à eau

Mini pompe à eau

Pompe submersible qui permet d'acheminer l'eau du réservoir vers la plante. Activée par l'Arduino via un module relais lorsque le seuil d'humidité est atteint.

Arduino UNO

Arduino UNO

Microcontrôleur qui traite les données des capteurs et contrôle les actionneurs. Il exécute l'algorithme qui détermine quand activer la pompe à eau.

Module relais

Module relais

Permet à l'Arduino de contrôler des appareils nécessitant plus de puissance comme la pompe à eau. Agit comme un interrupteur électronique pour activer ou désactiver la pompe.

Montage et réalisation

Schémas de connexion et prototype fonctionnel

Schéma de connexion du système d'arrosage
Prototype fonctionnel
Composants du système
Version avec Micro:bit

Principe de fonctionnement

Le système fonctionne selon un principe simple mais efficace :

  • Détection : Le capteur d'humidité mesure en continu le taux d'humidité du sol
  • Analyse : L'Arduino compare la valeur lue avec un seuil prédéfini
  • Action : Si l'humidité est inférieure au seuil, l'Arduino active le relais qui met en marche la pompe à eau
  • Temporisation : La pompe s'active pendant une durée déterminée, puis s'arrête
  • Répétition : Après un délai de stabilisation, le système recommence le cycle de mesure

Code du projet

Le code ci-dessous illustre la logique principale du système d'arrosage automatique :

#define SOIL_SENSOR A0
#define RELAY_PIN 7
const int DRY_THRESHOLD = 500;
const int WATERING_TIME = 3000;
void setup() {
Serial.begin(9600);
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, HIGH);
Serial.println("Système d'arrosage automatique initialisé");
}
void loop() {
int soilMoisture = analogRead(SOIL_SENSOR);
Serial.print("Humidité du sol: ");
Serial.println(soilMoisture);
if (soilMoisture > DRY_THRESHOLD) {
Serial.println("Sol sec détecté. Activation de l'arrosage...");
digitalWrite(RELAY_PIN, LOW);
delay(WATERING_TIME);
digitalWrite(RELAY_PIN, HIGH);
Serial.println("Arrosage terminé");
delay(5000);
}
delay(1000);
}

Logique du système

Organigramme illustrant le fonctionnement de l'arrosage automatique

Organigramme du système d'arrosage

Avantages du système

Ce système d'arrosage automatique présente de nombreux avantages :

  • Économie d'eau : Arrosage uniquement lorsque nécessaire, évitant le gaspillage
  • Autonomie : Idéal pour les vacances ou les périodes d'absence
  • Santé des plantes : Maintien d'un niveau d'humidité optimal pour la croissance
  • Modularité : Facilement adaptable à différents types de plantes et conditions
  • Faible coût : Réalisé avec des composants économiques et largement disponibles
  • Extensibilité : Possibilité d'ajouter d'autres capteurs (lumière, température) pour un contrôle plus complet

Variations du projet

Différentes versions développées

Plusieurs versions de ce système ont été développées, adaptées à différents contextes et besoins :

Version Arduino standard

La version principale utilisant un Arduino UNO est la plus polyvalente et permet un contrôle précis avec de nombreuses options de personnalisation du code.

Version Micro:bit

Une variante utilisant la carte Micro:bit, plus accessible pour un usage éducatif. Cette version permet une programmation par blocs et inclut un affichage LED intégré pour visualiser l'état du système.

Projet développé par Baptiste Nuytten | 2023