Projet Scolaire

Projet – Worldwide Weather Watcher

J'ai eu le plaisir de travailler sur un projet innovant, qui consiste à concevoir une station météorologique embarquée pour les navires.

Projet – Worldwide Weather Watcher

Réalisation d'une station météorologique embarquée

Pour bien débuter ma deuxième année de prépa intégrée à CESI, j'ai eu le plaisir de travailler sur un projet innovant, qui est le « Worldwide Weather Watcher » (en français Observateur météorologique mondial), qui consiste donc à concevoir une station météorologique embarquée pour les navires.

Le but principal de ce système est de collecter, traiter et stocker de manière autonome des données environnementales en mer, que ce soit la température, la pression, l'humidité, la luminosité ainsi que la position GPS. Ces données sont cruciales pour l'analyse visant à prévoir les phénomènes naturels. Le défi autour de ce projet consistait à créer un système à la fois robuste, fiable et simple d'utilisation pour le personnel de bord.

Les grandes étapes du projet

Dans un premier temps, il y a eu une phase d'analyse et de modélisation pour permettre de définir les interactions des différents acteurs avec le système, via l'élaboration de diagrammes UML (notamment le diagramme de cas d'utilisation, mais aussi des diagrammes d'activité et de séquence).

Diagramme de cas d'utilisation UML - Projet Weather Watcher

À la suite de cette première partie, il y a eu la programmation de la carte Arduino Uno, qui est le cœur de notre système. Celle-ci pilote l'ensemble des modules (capteurs, boutons, horloge RTC, carte SD). Un enjeu majeur a été d'optimiser le code pour qu'il puisse fonctionner avec les performances et les limitations de mémoire vive du microcontrôleur ATmega328P.

Montage électronique et programmation Arduino

Enfin, nous avons procédé à la rédaction de guides techniques et utilisateurs pour faciliter l'utilisation quotidienne, la configuration et la maintenance du système.

📂
Voir le code : Le code source Arduino complet, incluant la gestion des modes et l'optimisation pour l'ATmega328P, est disponible sur mon GitHub.

⚙️ Les fonctionnalités clés du système

  • 🟢 Mode Standard (LED Verte) : Il s'agit du fonctionnement normal. Acquisition complète et enregistrement sur la carte SD de toutes les données à intervalles réguliers.
  • 🔵 Mode Économique (LED Bleue) : Optimisation de la batterie. L'intervalle de mesure est doublé et l'acquisition GPS n'est effectuée qu'une fois sur deux.
  • 🟡 Mode Configuration (LED Jaune) : Mode technicien (accessible au démarrage) permettant de régler les paramètres du système et des capteurs (seuils, intervalles) via le moniteur série.
  • 🟠 Mode Maintenance (LED Orange) : Mode technicien qui suspend l'écriture sur la carte SD pour permettre son retrait en toute sécurité et la consultation des données en direct sur le moniteur série.

Compétences maîtrisées lors de ce projet

Ce projet m'a permis de maîtriser le cycle complet d'un système embarqué. J'ai notamment appris à :

  • 🧠 Modéliser un besoin via des diagrammes UML.
  • 🔌 Intégrer des composants matériels (protocoles I2C, SPI, UART).
  • 💻 Optimiser le code pour des ressources limitées (ATmega328P).
  • Gérer des interruptions matérielles pour garantir la réactivité du système.
  • 📝 Rédiger une documentation technique et utilisateur claire.
Partager : Twitter / X LinkedIn