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:
Artemia
2026-10-18 15:03:13 +02:00
co-authored by Claude Opus 5.5
parent ff1628efeb
commit 85852fcc2f
15 changed files with 1791 additions and 1 deletions
+85
View File
@@ -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.