Projet :
Gestion d'un système d'arrosage
automatique intelligent
Réalise par : Trabelsi Dhia
Chabbouh Ezzedine
Documentation du Projet
• Contexte du Projet :
Ce projet vise à développer un système d'arrosage intelligent en utilisant
FreeRTOS pour gérer des capteurs, des actionneurs et des événements
critiques. Le système est conçu pour surveiller l'humidité du sol, activer les
vannes si nécessaire, et gérer les priorités en cas d'arrêt d'urgence.
• Fonctionnalités Implémentées :
1. Lecture des capteurs d'humidité : Les capteurs sont lus toutes les 5
secondes, et les zones à arroser sont identifiées.
2. Activation des vannes : Les vannes (simulées par des LEDs) sont activées
en fonction des valeurs des capteurs et restent ouvertes pendant 10
secondes.
3. Gestion d'arrêt d'urgence : Un bouton permet de déclencher un arrêt
d'urgence, coupant toutes les vannes et activant une LED rouge.
4. Mise à jour du seuil d'humidité : Un potentiomètre permet d'ajuster
dynamiquement le seuil d'humidité requis.
• Tâches du Système :
1. Tâche de Lecture des Capteurs (vSensorTask) :
Lit les capteurs d'humidité toutes les 5 secondes.
2. Tâche d'Activation des Vannes (vValveTask) :
Reçoit les messages de la queue et active les LEDs
correspondantes, puis maintient les LEDs allumées pendant 10
secondes avant de les éteindre.
3. Tâche d'Urgence (vEmergencyTask) :
Surveille l'état du bouton d'arrêt d'urgence et déclenche un
sémaphore d'urgence si le bouton est pressé.
4. Gestion des Urgences (vEmergencyHandler) :
Désactive toutes les LEDs et active une LED rouge en cas
d'urgence.
5. Tâche de Mise à Jour du Seuil (vThresholdTask) :
Lit la valeur du potentiomètre pour ajuster le seuil d'humidité.
Aussi protège la ressource partagée à l'aide d'un mutex.
6. Tâche de Journalisation (vLoggerTask) :
Reçoit les messages de la queue d'événements et les affiche sur le
moniteur série.
• Conclusion :
Ce projet illustre une utilisation complète de FreeRTOS pour gérer des tâches
multitâches, des synchronisations complexes et une communication efficace. Il
répond à toutes les exigences fonctionnelles et offre une solution robuste pour la
gestion d'un système d'arrosage intelligent.
Lien du code du projet : [Link]
Diagramme des tâches