Convertit les 13 autres supports en .qmd
Modules 00 à 12 et synthèse matériel convertis avec le même outil que le pilote. Aucun mot perdu (comparaison automatique avec chaque .odt). Tableaux : largeurs de colonnes proportionnelles au contenu, texte non justifié. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
ff1628efeb
commit
85852fcc2f
@@ -0,0 +1,85 @@
|
||||
---
|
||||
title: "Module 12 — Projet final"
|
||||
---
|
||||
|
||||
## Objectifs du module
|
||||
|
||||
- Mobiliser l'ensemble des compétences acquises (GPIO, PWM, ADC, I2C, interruptions, Wi-Fi, BLE, énergie, MQTT) dans un projet personnel cohérent.
|
||||
- Rédiger un cahier des charges simple avant de coder.
|
||||
- Structurer un programme Arduino de taille conséquente (plusieurs fichiers, fonctions bien séparées).
|
||||
- Présenter et démontrer son projet.
|
||||
|
||||
## 1. Méthodologie : avant de coder
|
||||
|
||||
Un projet réussi commence par une phase de cadrage, même brève. Avant d'ouvrir l'IDE, répondez par écrit aux questions suivantes :
|
||||
|
||||
- Quel problème mon projet résout-il, ou quel besoin satisfait-il ?
|
||||
- Quelles sont les fonctionnalités indispensables (MVP - produit minimum viable) et lesquelles sont « bonus » si le temps le permet ?
|
||||
- Quel matériel est nécessaire (capteurs, actionneurs, alimentation) et est-il disponible ?
|
||||
- Le projet doit-il fonctionner de façon autonome (batterie) ou reste-t-il branché en continu ?
|
||||
- Quels modules de la formation seront mobilisés ?
|
||||
|
||||
## 2. Exemples de projets (par ordre de complexité croissante)
|
||||
|
||||
| Projet | Modules mobilisés | Description |
|
||||
|------------------------------|---------------------|----------------------------------------|
|
||||
| Station météo de bureau | 1, 2, 3, 5 | Écran OLED affichant température/humidité locales, LED NeoPixel comme indicateur de confort |
|
||||
| Station météo connectée | 5, 7 ou 11 | La précédente, mais publiant les données sur Internet (API ou MQTT) et consultable à distance |
|
||||
| Capteur autonome sur batterie | 5, 10, 11 | Mesure périodique avec deep sleep, transmission MQTT, autonomie de plusieurs semaines |
|
||||
| Domotique locale | 2, 3, 8 | Serveur web pilotant plusieurs relais/LED, avec retour d'état en temps réel |
|
||||
| Télécommande BLE personnalisée | 6, 9 | Boîtier avec boutons/encodeur pilotant un appareil via BLE (ex : diaporama, musique) |
|
||||
| Jeu de réflexes lumineux | 2, 4, 6 | Jeu type « Simon » utilisant plusieurs LED (ou la NeoPixel en RGB) et un buzzer, avec score affiché en série |
|
||||
|
||||
::: {.callout-note title="Un projet libre est aussi possible"}
|
||||
Cette liste est indicative : n'importe quel projet personnel combinant au moins trois modules de la formation et incluant une utilisation réfléchie de la LED NeoPixel est recevable.
|
||||
:::
|
||||
|
||||
## 3. Cahier des charges type (à compléter)
|
||||
|
||||
| Rubrique | À compléter |
|
||||
|----------------------------------------|---------------|
|
||||
| Nom du projet | |
|
||||
| Objectif en une phrase | |
|
||||
| Fonctionnalités indispensables | |
|
||||
| Fonctionnalités bonus (si le temps le permet) | |
|
||||
| Matériel nécessaire | |
|
||||
| Modules de la formation mobilisés | |
|
||||
| Contraintes (autonomie, taille, coût...) | |
|
||||
|
||||
## 4. Structurer un projet de taille conséquente
|
||||
|
||||
Au-delà d'une centaine de lignes, un seul fichier .ino devient difficile à maintenir. L'IDE Arduino permet de scinder un croquis en plusieurs onglets/fichiers, automatiquement inclus à la compilation :
|
||||
|
||||
- MonProjet.ino : contient uniquement `setup()` et `loop()`, orchestrant les appels aux autres fonctions.
|
||||
- capteurs.h / capteurs.cpp (ou simplement un onglet capteurs.ino) : fonctions de lecture et traitement des capteurs.
|
||||
- affichage.ino : fonctions liées à l'écran OLED et à la LED NeoPixel.
|
||||
- reseau.ino : fonctions Wi-Fi/MQTT/BLE.
|
||||
|
||||
::: {.callout-tip title="Bonne pratique de structuration"}
|
||||
Une fonction doit avoir une seule responsabilité claire (ex : `lireTemperature()`, `afficherEcran()`, `publierMQTT()`). Cette organisation facilite grandement le débogage et la relecture, surtout en formation collective où le code peut être partagé et commenté entre apprenants.
|
||||
:::
|
||||
|
||||
## 5. Grille d'auto-évaluation avant présentation
|
||||
|
||||
| Critère | Validé ? |
|
||||
|----------------------------------------|------------|
|
||||
| Le projet répond au besoin défini dans le cahier des charges | ☐ |
|
||||
| Le code compile sans erreur ni avertissement bloquant | ☐ |
|
||||
| Les fonctions sont nommées clairement et bien séparées | ☐ |
|
||||
| Le programme gère les cas d'erreur (capteur non détecté, Wi-Fi indisponible...) | ☐ |
|
||||
| La LED NeoPixel est utilisée de façon pertinente (état, alerte, feedback) | ☐ |
|
||||
| Le projet a été testé sur une durée représentative de son usage réel | ☐ |
|
||||
| Une courte documentation (schéma de câblage, liste du matériel) accompagne le code | ☐ |
|
||||
|
||||
## 6. Présentation du projet
|
||||
|
||||
Chaque participant présente son projet en quelques minutes :
|
||||
|
||||
- Démonstration du fonctionnement réel sur la carte.
|
||||
- Explication des choix techniques (pourquoi ce protocole, cette architecture).
|
||||
- Difficultés rencontrées et solutions apportées.
|
||||
- Pistes d'amélioration si le projet devait être poursuivi.
|
||||
|
||||
## Conclusion de la formation
|
||||
|
||||
Ce parcours a couvert la prise en main du matériel, les entrées/sorties, les signaux analogiques, les bus de communication, la gestion du temps et des évènements, la connectivité Wi-Fi et BLE, la gestion de l'énergie et l'IoT via MQTT — un socle de compétences complet pour aborder de façon autonome tout projet basé sur l'ESP32-S3 avec le framework Arduino. La suite naturelle consiste à approfondir un domaine particulier selon vos projets futurs : traitement du signal, IA embarquée (TinyML), protocoles radio longue portée (LoRa), ou intégration à des écosystèmes domotiques existants.
|
||||
Reference in New Issue
Block a user