« SE3Groupe2025-11 » : différence entre les versions

De projets-se.plil.fr
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
 
Ligne 1 : Ligne 1 :
= Projet Systèmes Embarqués (PSE) : SMART PRESENTER =
 
= Programmation des systèmes embarqués =
 
== Carte électronique ==
 
Carte réalisée en utilisant le logiciel <code>KiCAD</code> : [[File:2025-PSE-G11-PROG.zip|ma carte électronique]]. 
 
Schéma électronique de la carte :
 
[[File:2025_PSE-11-PROG-schema_f.pdf|thumb|center|700px|Mon schéma électronique]]
 
Résultat du routage :
 
[[File:2025_PSE-11-PROG-PCB._f.png|thumb|center|700px|Mon routage]]
 
 
Résultat 3D :
 
[[File:2025_PSE-11-PROG-3D_f.png|thumb|center|700px|Mon routage]]
 
Photo de la carte soudée :
[[Fichier:Module USB.jpg|centré|vignette]]
 
Vidéo très courte et en basse résolution de la carte en fonctionnement :
 
[[Média:2025-PSE-BB-PROG-video.mp4]]
 
== Programmation ==
 
== Bilan ==
 
J'indique où j'en suis arrivé à la fin des séances.
 
Eventuellement la vidéo brève du fonctionnement complet du programmateur : [[Média:2025-PSE-BB-PROG-final.mp4]].
 
= Premier système embarqué =


== Archive GIT ==
== Archive GIT ==
Notre archive GIT contenant le projet KiCad et les futurs programmes : [https://gitea.plil.fr/jngalamo/2025_PSE_G11_jngalamo_esamake SMART PRESENTER (Équipe G11)].


== Introduction & Objectif ==
Mon archive GIT pour le projet KiCAD et pour les programmes : [https://gitea.plil.fr/jngalamo/2025_PSE_G11_jngalamo_esamake].
L'objectif de ce projet est de concevoir une télécommande de présentation intelligente et sans fil, nommée '''SMART PRESENTER'''.  
 
Elle permet de contrôler un ordinateur à distance (diaporama, pointeur laser) tout en assistant l'orateur dans la gestion de son temps via un écran OLED, une jauge LED et des alertes haptiques (vibrations).  
 
= Description du système embarqué =
 
=== Objectif ==
L'objectif de ce projet est de concevoir une télécommande de présentation intelligente et sans fil. 
Elle devra être capable de contrôler un ordinateur à distance (diaporama, pointeur laser ), tout en assistant l'orateur dans la gestion de son temps de parole via un écran OLED, 
une jauge LED et des alertes haptiques.
Nous l'avons donner un nom ''' SMART PRESENTER '''
 
=== Fonctionnalités de la télécommande :  ===
 Notre télécommande posséderas plusieurs fonctionnalités parmi lesquels nous avons : 
 
   ''' -> Contrôle et Navigation (Interaction avec le PC) : '''
      * Navigation des diapositives : Passage à la diapositive suivante ou précédente via des boutons physiques dédiés.
      * Pointeur Laser intégré : Activation d'un laser physique pour désigner directement des éléments sur un écran de projection ou un tableau.
      * Mode ''' "Stay focus" ''' : Un bouton qui envoie une commande au PC. Cela coupe l'affichage de la présentation (écran noir) pour que l'auditoire se concentre uniquement sur l'orateur. Ou encore un mode qui afficherais selement une partie de la diapos afin que l'auditoir se concentre sur un point précis délimité par un cercle ou l'extérieur est mis en mode sombre.
      
 
   ''' -> Assistance et Gestion du Temps (Feedback Utilisateur) : '''
     * Moniteur OLED : Affichage en temps réel du chronomètre, du temps restant et du nom de la partie en cours de la présentation.
     * Jauge de progression visuelle : Indication de l'avancement du temps via une barre de LEDs RGB intégrée (changement progressif de couleur, du vert vers le rouge).
     * Alertes Haptiques (Vibreur) : Vibrations discrètes ressenties dans la main pour avertir l'orateur des paliers cruciaux (mi-parcours, dernière minute, temps écoulé).
 
   '''-> Fonctionnalité intelligente:'''
     * Mise en veille automatique : Utiliser un accéléromètre pour détecter si la télécommande est posée sur la table. Si elle ne bouge plus pendant 2 minutes, l'écran OLED s'éteint pour économiser la batterie.
 
== '''Conception des circuits''' == 
Pour la conception de notre télécommande de présentation nommée '''SMART PRESENTER''', l'analyse de conception de ce dernier est plutôt subdivisée en deux grandes phases.
<br> Nous aurons entre autres la conception de la télécommande principale elle-même et également du socle récepteur qui sera relié à l'ordinateur. </br>
Le système s'appuiera sur le principe de communication radio pour l'échange de données entre la télécommande et le socle de réception connecté au PC de l'orateur.
 
Nous allons maintenant analyser en profondeur chacun des grands circuits de notre projet afin de choisir les composants, de valider ces derniers, de concevoir leurs schémas et de réaliser le routage du circuit final.
 
=== Composants du projets  ===
 
<br>L'architecture de notre système s'articule autour des éléments suivants :</br>
 
==== Le microcontrôleur MCU :ATMEGA32U4 ==== 
Le microcontrôleur ATmega32U4, basé sur l'architecture AVR RISC 8 bits, constitue le cerveau et le centre d'orchestration de l'ensemble du socle récepteur.
<br>Ce composant a été spécifiquement sélectionné pour ses caractéristiques matérielles qui répondent parfaitement aux exigences d'une passerelle de communication radio-vers-PC.</br>
 
Le choix de ce composant s'articule autour des atouts techniques suivants :
    ->  Contrôleur USB 2.0 natif (Hardware USB) : C'est l'argument principal de cette architecture. Contrairement à d'autres microcontrôleurs nécessitant une puce convertisseuse externe (type FTDI ou CH340) générant des ports séries virtuels souvent instables,   l'ATmega32U4 intègre un module USB directement dans son silicium. Cela permet une émulation matérielle pure des périphériques d'interface humaine (HID), indispensable pour un fonctionnement "Plug & Play".
 
   <br> -> Bus de Communication (SPI Matériel) : La puce dispose d'un contrôleur matériel SPI dédié, essentiel pour dialoguer à haute vitesse avec le module radio nRF24L01+. </br>
 
    -> Ressources Mémoire : Doté de 32 Ko de mémoire Flash et de 2.5 Ko de SRAM, l'ATmega32U4 dispose d'un espace de stockage amplement suffisant pour héberger la pile logicielle USB (framework LUFA), 
les descripteurs complexes du périphérique, et la logique de décodage des trames radio.
 
Tout cela est résumé dans le tableau ci-dessous :
{| class="wikitable"
!Caractéristiques
!ATmega32U4
|-
|'''Architecture'''
|AVR 8 bits
|-
|'''Mémoire Flash'''
|32 KB
|-
|'''RAM (SRAM)'''
|2.5 KB
|-
|'''EEPROM'''
|1 KB
|-
|'''Fréquence d'horloge max.'''
|16 MHz
|-
|'''Nombre de broches GPIO'''
|26
|-
|'''Interfaces de communication'''
|UART, SPI, I²C, USB 2.0
|-
|'''Contrôleur USB intégré'''
|Oui (USB 2.0)
|-
|'''Taille des registres'''
|8 bits
|-
|'''Nombre de broches'''
|32
|-
|'''Différences principales'''
|Conçu pour des applications nécessitant un contrôleur USB intégré, avec une mémoire et un nombre de broches intermédiaires
|}
''Datasheet ATmega32u4 :''
[[Fichier:Datasheet ATMEGA32U4.pdf|199x199px|vignette|Datasheet du microcontroleur : ATMEGA32U4|gauche]]
[[Fichier:AVR042.pdf|199x199px|vignette|AVR Hardware Design Considerations|centré]]
 
==== <br> La communication radio </br> ==== 
Il s'agit d'un transceiver (émetteur-récepteur) très basse consommation fonctionnant dans la bande de fréquences libre ISM (Industrial, Scientific and Medical) des 2.4 GHz.
il seras utiliser dans notre cas pour la réception des data provenant de la télécommande principale et le mettre a la disposition du MCU pour la transmission au PC .
Ensemble des spécificité technique du composants est décrite dans la datasheet :
 
''Datasheet NRF24L01 :''
[[Fichier:Datasheet NRF24L01.pdf|200x200px|vignette|Datasheet module de communication : NRF24L01|centré]]
<p style="clear: both;" />
 
==== Le Régulateur de Tension LDO (Adaptation d'Énergie) ====
 
Bien que le socle récepteur bénéficie d'une source d'énergie théoriquement infinie grâce au port USB de l'ordinateur hôte (délivrant une tension nominale de 5V), une adaptation stricte de cette tension est impérative. En effet, si le microcontrôleur ATmega32U4 exploite nativement ce 5V pour fonctionner à sa fréquence maximale de 16 MHz, le module radiofréquence nRF24L01+ possède une tolérance absolue fixée à 3.6V. Une exposition directe au VBUS de l'USB entraînerait la destruction immédiate de la puce RF.
 
Pour pallier ce problème et garantir l'intégrité du système, l'architecture intègre un régulateur de tension linéaire à faible chute (LDO - Low Drop-Out), tel que le LM1117-3.3.
 
''Datasheet NRF24L01 :''
[[Fichier:Datasheet LDO.pdf|200x200px|vignette|Datasheet module du regulateur : LDO|centré]]
<p style="clear: both;" />
 
 
==== Le Moteur Haptique (ERM) ====
Pour offrir une expérience ergonomique optimale à l'orateur, la télécommande intègre un micro-moteur vibrant de type ERM (Eccentric Rotating Mass).
 
Son rôle principal est de fournir un retour haptique discret. Cela permet de transmettre des alertes temporelles à l'utilisateur (par exemple, de signaler par une légère vibration qu'il ne reste que 5 minutes de présentation) sans l'obliger à regarder l'écran, lui permettant ainsi de maintenir un contact visuel constant avec son public.</br>
 
D'un point de vue matériel, le pilotage de ce moteur (qui constitue une charge fortement inductive) ne peut pas se faire directement via les broches du microcontrôleur. Il nécessite un sous-circuit de puissance et de protection robuste :
 
    '''Pilotage (Low-Side Switching) :''' Utilisation d'un transistor MOSFET Canal-N (ex: 2N7002) pour agir comme un interrupteur commandé par la masse. Il est piloté par un signal PWM de l'ATmega32U4, ce qui permet de faire varier l'intensité de la vibration.
    '''Protection (Diode de roue libre) :''' Ajout d'une diode Schottky rapide en anti-parallèle du moteur. Elle est vitale pour dissiper l'énergie de la bobine et bloquer les pics de tension destructeurs (force contre-électromotrice) lors de l'arrêt du moteur.
    '''Filtrage antiparasite :''' Un condensateur de découplage de 100 nF est placé en parallèle pour absorber le bruit électrique généré par les balais du moteur, évitant ainsi de perturber la communication du module radio nRF24L01+.
    '''Alimentation isolée :''' Le moteur tire son énergie directement de la batterie (VBAT_SW) et non du régulateur LDO 3.3V, pour préserver la stabilité de la tension de la logique numérique.
 
[[File:2025_PSE-11-moteur.jpg|thumb|center|700px|Moteur ERM]]
 
==== '''La baterie lithium :''' ====
Élément incontournable pour une autonomie de la télécommande nous avons opter pour la '''LP-402933-1S-3.'''
 
Ce choix est dicté tout dabbord par l'exigence de finesse de la télécommande . Ses '''4 mm d'épaisseur''' permettent une intégration sans surépaisseur du boîtier, tout en garantissant une autonomie suffisante pour environ 15 à 20 présentations d'une heure.
 '''Emplacement :''' Pour une meilleur sécurité une tolérance de '''+0.2 mm''' dans le boîtier serais plus optimal pour prévenir un éventuel gonflement naturel de la cellule LiPo en fin de vie.
 
 '''Tension & Courant de charge :''' La batterie est alimenté à '''4.2V'''. Pour maximiser sa durée de vie, le circuit de charge sera configuré avec une résistance de programmation limitant le courant à '''180 mA'''.
 
 
[[Fichier:Batterie lithium.png|centré|vignette|Batterie lithium]]
 
==== Le Pointeur Laser ====
Élément incontournable d'une télécommande de présentation, le module laser rouge (5mW / 650nm) permet à l'orateur de mettre en évidence des éléments clés sur son support visuel.
 
D'un point de vue de la conception électronique, nous avons délibérément choisi d'appliquer le principe KISS (Keep It Simple, Stupid) pour ce circuit. Plutôt que de piloter le laser via une broche du microcontrôleur et un transistor, l'architecture repose sur une connexion matérielle directe :
 
    '''Circuit en série direct :''' Le laser est alimenté directement par la tension de la batterie (VBAT_SW), en passant simplement par un bouton poussoir dédié.
 
    '''Avantages de cette architecture :''' Ce choix permet de libérer des broches d'entrées/sorties sur l'ATmega32U4 et d'alléger le code C (aucune ligne de code n'est requise pour le laser). De plus, le système offre une latence nulle et une fiabilité totale : même si le microcontrôleur est occupé par une tâche complexe ou subit un plantage, le laser fonctionnera toujours.
[[Fichier:LaZer.png|centré|vignette|Module laser]]
 
==== L'Écran OLED (Interface Visuelle) ====
L'écran OLED (généralement un module de 1.3 pouces) constitue le tableau de bord de la télécommande. Très économe en énergie (les pixels noirs ne consommant rien), il permet de fournir à l'orateur des informations critiques sans le distraire : temps écoulé (chronomètre), niveau de batterie restant, et confirmation de la connexion radio avec le socle récepteur.
 
L'intégration de ce module s'articule autour des choix techniques suivants :
 
    '''Communication I²C :''' L'écran dialogue avec le microcontrôleur ATmega32U4 via le bus I²C (broches SDA pour les données et SCL pour l'horloge). Ce choix permet de minimiser le nombre de pistes sur le circuit imprimé (seulement 2 fils de données nécessaires).
 
    '''Cohérence des niveaux logiques :''' Contrairement au moteur ou au laser, l'écran OLED est alimenté par le réseau régulé '''+3V3'''. Il est crucial que l'écran et le microcontrôleur partagent exactement la même tension d'alimentation (3.3V) pour que leurs signaux logiques (les 0 et les 1) soient parfaitement compatibles sans nécessiter de convertisseur de niveau logique (Level Shifter).
 
 
[[File:2025_PSE-11-ecran.jpg|thumb|center|200px|Ecran oled]]
 
==== Contrôleur de charge MAX1873REEE+ ====
Le MAX1873REEE est le cerveau de la gestion énergétique de notre télécommande. Son rôle est de transformer la tension d'entrée (USB) pour charger la batterie LiPo en toute sécurité.
 '''Rôle :''' 
 
    '''Protection de la batterie :''' le côntroleur de charge assure que la batterie LP-402933 ne dépasse jamais '''4.2V''', évitant ainsi tout risque de gonflement ou d'incendie dans le boîtier fermé et compact. Il gère le cycle de charge intelligent (Courant Constant / Tension Constante). Il protège donc la batterie contre les pics d'intensité qui pourraient réduire sa durée de vie.
 
    '''Gestion thermique :''' Contrairement à des chargeurs basiques, le '''MAX1873REEE+''' est un contrôleur à découpage qui chauffe très peu. C'est un point clé car la télécommande sera tenue en main et donc une chauffe excessive serait inconfortable pour l'utilisateur pendant une présentation
 
    '''Indicateur d'état :''' Il permet au système de savoir quand la charge est terminée, ce qui nous permet d'éteindre la LED de charge.
[[Fichier:Contrôleur de charge MAX1873REEE+.png|centré|vignette|Contrôleur de charge]]
 
 
== Carte électronique ==
 
Carte réalisée en utilisant le logiciel <code>KiCAD</code> : [[File:2025-PSE-BB-systeme.zip|ma carte électronique]]. 


Le système est physiquement divisé en deux parties communiquant par ondes radio à 2.4 GHz :
Schéma électronique de la carte :
# '''La télécommande principale''' (sur batterie, avec interface utilisateur).
# '''Le socle récepteur''' (Dongle branché en USB sur le PC de l'orateur).


---
[[File:2025_PSE-BB-systeme-schema.pdf|thumb|center|400px|Mon schéma électronique]]


= PARTIE 1 : Présentation des Composants et de leurs Rôles =
Résultat du routage :
Cette section détaille la nomenclature matérielle choisie pour répondre aux contraintes du projet (finesse, autonomie, communication).


=== 1. Le Microcontrôleur (Cerveau) : ATMEGA32U4 ===
[[File:2025_PSE-BB-systeme-PCB.png|thumb|center|400px|Mon routage]]
Basé sur l'architecture AVR RISC 8 bits, il orchestre l'ensemble du système.
* '''Rôle :''' Gérer les entrées (boutons), piloter les sorties (écran, moteur) et assurer la communication.
* '''Justification du choix :''' Il intègre un '''contrôleur USB 2.0 natif (Hardware USB)'''. Cela permet une émulation matérielle pure des périphériques HID (clavier/souris) pour le Dongle récepteur, indispensable pour un fonctionnement "Plug & Play" sans driver externe. Il possède également un bus SPI matériel dédié pour la radio.
* ''Ressource :'' [[Fichier:Datasheet ATMEGA32U4.pdf|150px|vignette|Datasheet ATMEGA32U4]]


=== 2. La Communication Radio : Module nRF24L01+ ===
Photo de la carte soudée :
Transceiver très basse consommation fonctionnant dans la bande libre ISM des 2.4 GHz.
* '''Rôle :''' Assurer le pont de données sans fil entre la télécommande et le PC.
* '''Justification :''' Son protocole matériel ShockBurst allège le travail du microcontrôleur. Sa faible consommation est idéale pour un fonctionnement sur batterie.


=== 3. La Chaîne d'Énergie (Batterie, Chargeur, Régulateur) ===
[[File:2025_PSE-BB-systeme-carte.jpg|thumb|center|400px|Ma carte]]
* '''La Batterie (LP-402933-1S-3) :''' Cellule Lithium-Polymère (4.2V max). Son épaisseur de 4 mm est idéale pour garantir la finesse de la télécommande.
* '''Le Contrôleur de Charge (MAX1873REEE+) :''' Il transforme l'énergie du port USB pour recharger la batterie en toute sécurité (gestion du cycle CC/CV et protection contre la surcharge). Son architecture à découpage évite la surchauffe de la télécommande pendant la charge.
* '''Le Régulateur de Tension (LDO LM1117-3.3) :''' Abaisse la tension (du 5V USB ou du 4.2V batterie) vers un 3.3V stable. Vital, car le module radio nRF24L01+ grille s'il est exposé à plus de 3.6V.


=== 4. Les Interfaces Utilisateur (Feedback & Contrôle) ===
Vidéo très courte et en basse résolution de la carte en fonctionnement :
* '''Moteur Haptique (ERM) :''' Micro-moteur vibrant fournissant des alertes temporelles discrètes (ex: "il reste 5 minutes") pour que l'orateur garde le contact visuel avec le public.
* '''Pointeur Laser :''' Diode laser rouge (5mW / 650nm) classique pour désigner des éléments sur un tableau.
* '''Écran OLED (1.3 pouces) :''' Module très économe (pixels noirs inactifs) communiquant en I²C. Affiche le chronomètre et l'état du système.


---
[[Média:2025-PSE-BB-systeme-video.mp4]]


= PARTIE 2 : Implémentation Fonctionnelle et Schémas (KiCad) =
== Travail effectué ==
Cette section détaille comment ces composants ont été câblés entre eux pour réaliser les fonctions de la télécommande.


=== Fonctionnalité A : La Gestion de l'Énergie (Alimentation & Charge) ===
Voici l'état d'avancement des travaux de conception de notre télécommande :
La télécommande doit pouvoir fonctionner sur batterie, mais aussi se recharger lorsqu'elle est branchée.
* '''Réalisation :''' Le signal `VBUS` (5V) provenant du connecteur USB entre dans le contrôleur MAX1873. Celui-ci alimente la batterie (`VBAT`). La tension de la batterie passe ensuite par un interrupteur général, puis attaque le régulateur LM1117 pour générer le réseau `+3V3` qui alimente la logique de la carte.
* '''Schéma de conception :'''
[[File:VOTRE_IMAGE_SCHEMA_ALIMENTATION.png|600px|vignette|centré|Bloc de gestion d'énergie et de charge (MAX1873 & LDO)]]
''(Pensez à faire une capture d'écran dans KiCad uniquement de la zone où se trouvent la batterie, le MAX1873 et le LM1117)''


=== Fonctionnalité B : Communication Radio & Bus SPI ===
'''-> 16 février 2026 : '''
Le dialogue entre l'ATmega32U4 et le module nRF24L01+ nécessite une synchronisation parfaite à haute vitesse.
* '''Réalisation :''' Utilisation du bus SPI matériel. Les lignes `MOSI`, `MISO` et `SCK` sont communes. Des broches spécifiques de l'ATmega sont allouées au `CSN` (Chip Select) et au `CE` (Chip Enable) pour activer la radio. Le module RF est strictement alimenté par le réseau `+3V3`.
* '''Schéma de conception :'''
[[File:VOTRE_IMAGE_SCHEMA_RADIO.png|600px|vignette|centré|Câblage du module nRF24L01+ sur le bus SPI du microcontrôleur]]
''(Capturez la zone de votre schéma avec le composant U4 / NRF24L01 et ses connexions au microcontrôleur)''


=== Fonctionnalité C : Le Retour Haptique (Vibreur) ===
    *Choix du projet : Après l'émergence de plusieurs idées (écran de monitoring et régulation de température, conception d'une manette de jeu, etc.), nous avons finalement décidé de réaliser une télécommande intelligente pour la gestion des présentations. Elle inclura plusieurs fonctionnalités pour aider au mieux l'orateur, comme le contrôle des diapositives et des alertes temporelles bien définies. Nous avons nommé notre projet : SMART PRESENTER.
Un moteur est une charge inductive lourde qui ne peut pas être branchée directement sur une broche de silicium du microcontrôleur.
    * Mise en place des outils : Création, configuration et structuration du dépôt Git pour faciliter le partage des fichiers au sein du binôme et permettre le suivi par les examinateurs.
* '''Réalisation :''' Nous utilisons un pilotage "Low-Side" via un transistor MOSFET Canal-N piloté par un signal PWM de l'ATmega. Une diode de roue libre Schottky est placée en anti-parallèle du moteur pour absorber la force contre-électromotrice lors de l'arrêt. Le moteur est alimenté par le réseau de puissance (batterie) et non par le 3.3V logique pour éviter les parasites.
     * Documentation : Configuration du Wiki pour tracer nos choix techniques et afficher nos résultats (faisant office de rapport écrit continu de notre travail).
* '''Schéma de conception :'''
[[File:VOTRE_IMAGE_SCHEMA_MOTEUR.png|500px|vignette|centré|Circuit de puissance et de protection du moteur haptique]]
''(Capturez la zone avec le moteur, le transistor Q1, la diode D2...)''


=== Fonctionnalité D : Pointeur Laser & Philosophie KISS ===
'''-> 2 mars 2026 : ''''
Pour garantir une fiabilité à 100% du laser de présentation, nous avons appliqué le principe de conception "KISS" (Keep It Simple, Stupid).
Après avoir validé le choix du projet et les configurations initiales, nous sommes passés à la phase de spécification et de conception :
* '''Réalisation :''' Le laser n'est pas piloté par le code du microcontrôleur. Il est câblé en série de manière purement matérielle : de la tension de la batterie (`VBAT_SW`), via un simple bouton poussoir (Slaser1), directement vers la diode laser.
   * Définition détaillée des différentes fonctionnalités de la carte.
* '''Avantage :''' Latence nulle, libération d'une broche sur le MCU, et le laser fonctionne toujours même si le programme de la télécommande plante.
    *Organisation du travail et finalisation de l'architecture globale du système. Il en ressort la nécessité de fabriquer deux cartes distinctes : un socle récepteur (dongle USB) et une télécommande principale sur batterie.
* '''Schéma de conception :'''
   * Début de la conception du schéma électrique pour le socle récepteur (choix des composants et validation de l'architecture).
[[File:VOTRE_IMAGE_SCHEMA_LASER.png|400px|vignette|centré|Circuit matériel direct du pointeur laser]]
    *Mise à jour du dépôt Git et du Wiki.
''(Capturez le tout petit bout de schéma avec le bouton et le connecteur laser)''


=== Fonctionnalité E : Affichage OLED & Navigation ===
'''-> 9 mars 2026 :'''
L'interface visuelle et les boutons de contrôle pour l'orateur.
    Revue de conception : Contrôle et validation du schéma du socle récepteur par l'examinateur. Quelques corrections ont été apportées suite à ses retours pour fiabiliser la carte.
* '''Réalisation :''' L'écran OLED est câblé sur le bus `I²C` (SDA/SCL) avec des résistances de tirage (Pull-up). Les boutons poussoirs (Next, Prev, Start) sont câblés directement sur les GPIO du microcontrôleur avec activation des résistances de tirage internes au composant pour fixer les potentiels (debouncing logiciel prévu dans le futur).
    Nomenclature : Établissement de la liste des composants (BOM) du socle récepteur avec l'identification des références Mouser exactes en vue de l'achat.
* '''Schéma de conception :'''
    Carte principale : Début de la conception schématique de la télécommande principale (SMART PRESENTER).
[[File:VOTRE_IMAGE_SCHEMA_INTERFACE.png|600px|vignette|centré|Câblage de l'écran I2C et des boutons de navigation]]


---
''' -> 17 mars 2026 :'''
    fin des corrections des deux cartes (main_board et la receiver_board) de notre télécommande 
    Assignations des empreintes des composants des deux cartes
    Debut du routage de la receiver board


= PARTIE 3 : Résultats Finaux et Avancement =


Les deux cartes ont été entièrement dessinées et routées en respectant les contraintes industrielles (différentiel USB, exclusion de cuivre autour des antennes radio, trous de fixation).
''' -> 24 mars 2026 :'''
    corrections des derniers erreurs sur les deux cartes ( main board et la receiver board) apres remarques du prof 
    fin du routage de la receiver board


=== A. Carte Réceptrice (Dongle USB) ===
== Bilan ==
[[File:2025_PSE-11-PROG-PCB._f.png|400px|vignette|Routage final du récepteur (Top & Bottom)]]
[[File:2025_PSE-11-PROG-3D_f.png|400px|vignette|Rendu 3D du Dongle USB]]


=== B. Carte Principale (Télécommande) ===
J'indique où j'en suis arrivé à la fin des séances.
[[File:2025_PSE-BB-systeme-PCB.png|400px|vignette|Routage de la télécommande principale]]


=== Journal de Bord ===
Eventuellement la vidéo brève du fonctionnement complet du programmateur : [[Média:2025-PSE-BB-systeme-final.mp4]].
* '''16 Février :''' Choix du projet "SMART PRESENTER", architecture du repo Git et du Wiki.
faire une petite mise a jour et met rend cela bien prensenatable
* '''02 Mars :''' Définition de l'architecture à deux cartes. Début conception schéma du récepteur.
* '''09 Mars :''' Validation du schéma récepteur. Établissement de la BOM (Mouser). Début schéma télécommande.
* '''17 Mars :''' Fin des schémas. Assignation des empreintes. Début du routage.
* '''24 Mars :''' Fin du routage initial.
* '''Avril (Routage Industriel) :''' Nettoyage DRC (0 erreur). Optimisation des paires différentielles USB, création des zones Keep-out pour les antennes 2.4GHz, correction des Vias-in-Pad, ajout de la mécanique (trous de vis) et de la sérigraphie (logo). Génération des fichiers de fabrication.

Version actuelle datée du 11 avril 2026 à 23:40

Programmation des systèmes embarqués

Carte électronique

Carte réalisée en utilisant le logiciel KiCAD : Fichier:2025-PSE-G11-PROG.zip

Schéma électronique de la carte :

Mon schéma électronique

Résultat du routage :

Mon routage


Résultat 3D :

Mon routage

Photo de la carte soudée :

Module USB.jpg

Vidéo très courte et en basse résolution de la carte en fonctionnement :

Média:2025-PSE-BB-PROG-video.mp4

Programmation

Bilan

J'indique où j'en suis arrivé à la fin des séances.

Eventuellement la vidéo brève du fonctionnement complet du programmateur : Média:2025-PSE-BB-PROG-final.mp4.

Premier système embarqué

Archive GIT

Mon archive GIT pour le projet KiCAD et pour les programmes : [1].


Description du système embarqué

=== Objectif ===  L'objectif de ce projet est de concevoir une télécommande de présentation intelligente et sans fil.  Elle devra être capable de contrôler un ordinateur à distance (diaporama, pointeur laser ), tout en assistant l'orateur dans la gestion de son temps de parole via un écran OLED,  une jauge LED et des alertes haptiques. Nous l'avons donner un nom SMART PRESENTER

Fonctionnalités de la télécommande : 

 Notre télécommande posséderas plusieurs fonctionnalités parmi lesquels nous avons : 

    -> Contrôle et Navigation (Interaction avec le PC) :       * Navigation des diapositives : Passage à la diapositive suivante ou précédente via des boutons physiques dédiés.       * Pointeur Laser intégré : Activation d'un laser physique pour désigner directement des éléments sur un écran de projection ou un tableau.       * Mode "Stay focus"  : Un bouton qui envoie une commande au PC. Cela coupe l'affichage de la présentation (écran noir) pour que l'auditoire se concentre uniquement sur l'orateur. Ou encore un mode qui afficherais selement une partie de la diapos afin que l'auditoir se concentre sur un point précis délimité par un cercle ou l'extérieur est mis en mode sombre.       

    -> Assistance et Gestion du Temps (Feedback Utilisateur) :      * Moniteur OLED : Affichage en temps réel du chronomètre, du temps restant et du nom de la partie en cours de la présentation.      * Jauge de progression visuelle : Indication de l'avancement du temps via une barre de LEDs RGB intégrée (changement progressif de couleur, du vert vers le rouge).      * Alertes Haptiques (Vibreur) : Vibrations discrètes ressenties dans la main pour avertir l'orateur des paliers cruciaux (mi-parcours, dernière minute, temps écoulé).

   -> Fonctionnalité intelligente:      * Mise en veille automatique : Utiliser un accéléromètre pour détecter si la télécommande est posée sur la table. Si elle ne bouge plus pendant 2 minutes, l'écran OLED s'éteint pour économiser la batterie.

== Conception des circuits ==  Pour la conception de notre télécommande de présentation nommée SMART PRESENTER, l'analyse de conception de ce dernier est plutôt subdivisée en deux grandes phases.
Nous aurons entre autres la conception de la télécommande principale elle-même et également du socle récepteur qui sera relié à l'ordinateur.
Le système s'appuiera sur le principe de communication radio pour l'échange de données entre la télécommande et le socle de réception connecté au PC de l'orateur.

Nous allons maintenant analyser en profondeur chacun des grands circuits de notre projet afin de choisir les composants, de valider ces derniers, de concevoir leurs schémas et de réaliser le routage du circuit final.

Composants du projets 


L'architecture de notre système s'articule autour des éléments suivants :

==== Le microcontrôleur MCU :ATMEGA32U4 ====  Le microcontrôleur ATmega32U4, basé sur l'architecture AVR RISC 8 bits, constitue le cerveau et le centre d'orchestration de l'ensemble du socle récepteur.
Ce composant a été spécifiquement sélectionné pour ses caractéristiques matérielles qui répondent parfaitement aux exigences d'une passerelle de communication radio-vers-PC.

Le choix de ce composant s'articule autour des atouts techniques suivants :     ->  Contrôleur USB 2.0 natif (Hardware USB) : C'est l'argument principal de cette architecture. Contrairement à d'autres microcontrôleurs nécessitant une puce convertisseuse externe (type FTDI ou CH340) générant des ports séries virtuels souvent instables,   l'ATmega32U4 intègre un module USB directement dans son silicium. Cela permet une émulation matérielle pure des périphériques d'interface humaine (HID), indispensable pour un fonctionnement "Plug & Play".

   
-> Bus de Communication (SPI Matériel) : La puce dispose d'un contrôleur matériel SPI dédié, essentiel pour dialoguer à haute vitesse avec le module radio nRF24L01+.

    -> Ressources Mémoire : Doté de 32 Ko de mémoire Flash et de 2.5 Ko de SRAM, l'ATmega32U4 dispose d'un espace de stockage amplement suffisant pour héberger la pile logicielle USB (framework LUFA),  les descripteurs complexes du périphérique, et la logique de décodage des trames radio.

Tout cela est résumé dans le tableau ci-dessous :

Caractéristiques ATmega32U4
Architecture AVR 8 bits
Mémoire Flash 32 KB
RAM (SRAM) 2.5 KB
EEPROM 1 KB
Fréquence d'horloge max. 16 MHz
Nombre de broches GPIO 26
Interfaces de communication UART, SPI, I²C, USB 2.0
Contrôleur USB intégré Oui (USB 2.0)
Taille des registres 8 bits
Nombre de broches 32
Différences principales Conçu pour des applications nécessitant un contrôleur USB intégré, avec une mémoire et un nombre de broches intermédiaires

Datasheet ATmega32u4 :

Datasheet du microcontroleur : ATMEGA32U4
AVR Hardware Design Considerations

====
La communication radio
====  Il s'agit d'un transceiver (émetteur-récepteur) très basse consommation fonctionnant dans la bande de fréquences libre ISM (Industrial, Scientific and Medical) des 2.4 GHz. il seras utiliser dans notre cas pour la réception des data provenant de la télécommande principale et le mettre a la disposition du MCU pour la transmission au PC . Ensemble des spécificité technique du composants est décrite dans la datasheet :

Datasheet NRF24L01 :

Datasheet module de communication : NRF24L01

Le Régulateur de Tension LDO (Adaptation d'Énergie)

Bien que le socle récepteur bénéficie d'une source d'énergie théoriquement infinie grâce au port USB de l'ordinateur hôte (délivrant une tension nominale de 5V), une adaptation stricte de cette tension est impérative. En effet, si le microcontrôleur ATmega32U4 exploite nativement ce 5V pour fonctionner à sa fréquence maximale de 16 MHz, le module radiofréquence nRF24L01+ possède une tolérance absolue fixée à 3.6V. Une exposition directe au VBUS de l'USB entraînerait la destruction immédiate de la puce RF.

Pour pallier ce problème et garantir l'intégrité du système, l'architecture intègre un régulateur de tension linéaire à faible chute (LDO - Low Drop-Out), tel que le LM1117-3.3.

Datasheet NRF24L01 :

Datasheet module du regulateur : LDO

Le Moteur Haptique (ERM)

Pour offrir une expérience ergonomique optimale à l'orateur, la télécommande intègre un micro-moteur vibrant de type ERM (Eccentric Rotating Mass).

Son rôle principal est de fournir un retour haptique discret. Cela permet de transmettre des alertes temporelles à l'utilisateur (par exemple, de signaler par une légère vibration qu'il ne reste que 5 minutes de présentation) sans l'obliger à regarder l'écran, lui permettant ainsi de maintenir un contact visuel constant avec son public.

D'un point de vue matériel, le pilotage de ce moteur (qui constitue une charge fortement inductive) ne peut pas se faire directement via les broches du microcontrôleur. Il nécessite un sous-circuit de puissance et de protection robuste :

    Pilotage (Low-Side Switching) : Utilisation d'un transistor MOSFET Canal-N (ex: 2N7002) pour agir comme un interrupteur commandé par la masse. Il est piloté par un signal PWM de l'ATmega32U4, ce qui permet de faire varier l'intensité de la vibration.     Protection (Diode de roue libre) : Ajout d'une diode Schottky rapide en anti-parallèle du moteur. Elle est vitale pour dissiper l'énergie de la bobine et bloquer les pics de tension destructeurs (force contre-électromotrice) lors de l'arrêt du moteur.     Filtrage antiparasite : Un condensateur de découplage de 100 nF est placé en parallèle pour absorber le bruit électrique généré par les balais du moteur, évitant ainsi de perturber la communication du module radio nRF24L01+.     Alimentation isolée : Le moteur tire son énergie directement de la batterie (VBAT_SW) et non du régulateur LDO 3.3V, pour préserver la stabilité de la tension de la logique numérique.

Moteur ERM

La baterie lithium :

Élément incontournable pour une autonomie de la télécommande nous avons opter pour la LP-402933-1S-3.

Ce choix est dicté tout dabbord par l'exigence de finesse de la télécommande . Ses 4 mm d'épaisseur permettent une intégration sans surépaisseur du boîtier, tout en garantissant une autonomie suffisante pour environ 15 à 20 présentations d'une heure.  Emplacement : Pour une meilleur sécurité une tolérance de +0.2 mm dans le boîtier serais plus optimal pour prévenir un éventuel gonflement naturel de la cellule LiPo en fin de vie.

 Tension & Courant de charge : La batterie est alimenté à 4.2V. Pour maximiser sa durée de vie, le circuit de charge sera configuré avec une résistance de programmation limitant le courant à 180 mA.


Batterie lithium

Le Pointeur Laser

Élément incontournable d'une télécommande de présentation, le module laser rouge (5mW / 650nm) permet à l'orateur de mettre en évidence des éléments clés sur son support visuel.

D'un point de vue de la conception électronique, nous avons délibérément choisi d'appliquer le principe KISS (Keep It Simple, Stupid) pour ce circuit. Plutôt que de piloter le laser via une broche du microcontrôleur et un transistor, l'architecture repose sur une connexion matérielle directe :

    Circuit en série direct : Le laser est alimenté directement par la tension de la batterie (VBAT_SW), en passant simplement par un bouton poussoir dédié.

    Avantages de cette architecture : Ce choix permet de libérer des broches d'entrées/sorties sur l'ATmega32U4 et d'alléger le code C (aucune ligne de code n'est requise pour le laser). De plus, le système offre une latence nulle et une fiabilité totale : même si le microcontrôleur est occupé par une tâche complexe ou subit un plantage, le laser fonctionnera toujours.

Fichier:LaZer.png
Module laser

L'Écran OLED (Interface Visuelle)

L'écran OLED (généralement un module de 1.3 pouces) constitue le tableau de bord de la télécommande. Très économe en énergie (les pixels noirs ne consommant rien), il permet de fournir à l'orateur des informations critiques sans le distraire : temps écoulé (chronomètre), niveau de batterie restant, et confirmation de la connexion radio avec le socle récepteur.

L'intégration de ce module s'articule autour des choix techniques suivants :

    Communication I²C : L'écran dialogue avec le microcontrôleur ATmega32U4 via le bus I²C (broches SDA pour les données et SCL pour l'horloge). Ce choix permet de minimiser le nombre de pistes sur le circuit imprimé (seulement 2 fils de données nécessaires).

    Cohérence des niveaux logiques : Contrairement au moteur ou au laser, l'écran OLED est alimenté par le réseau régulé +3V3. Il est crucial que l'écran et le microcontrôleur partagent exactement la même tension d'alimentation (3.3V) pour que leurs signaux logiques (les 0 et les 1) soient parfaitement compatibles sans nécessiter de convertisseur de niveau logique (Level Shifter).


Ecran oled

Contrôleur de charge MAX1873REEE+

Le MAX1873REEE est le cerveau de la gestion énergétique de notre télécommande. Son rôle est de transformer la tension d'entrée (USB) pour charger la batterie LiPo en toute sécurité.  Rôle : 

    Protection de la batterie : le côntroleur de charge assure que la batterie LP-402933 ne dépasse jamais 4.2V, évitant ainsi tout risque de gonflement ou d'incendie dans le boîtier fermé et compact. Il gère le cycle de charge intelligent (Courant Constant / Tension Constante). Il protège donc la batterie contre les pics d'intensité qui pourraient réduire sa durée de vie.

    Gestion thermique : Contrairement à des chargeurs basiques, le MAX1873REEE+ est un contrôleur à découpage qui chauffe très peu. C'est un point clé car la télécommande sera tenue en main et donc une chauffe excessive serait inconfortable pour l'utilisateur pendant une présentation

    Indicateur d'état : Il permet au système de savoir quand la charge est terminée, ce qui nous permet d'éteindre la LED de charge.

Contrôleur de charge


Carte électronique

Carte réalisée en utilisant le logiciel KiCAD : Fichier:2025-PSE-BB-systeme.zip

Schéma électronique de la carte :

Fichier:2025 PSE-BB-systeme-schema.pdf
Mon schéma électronique

Résultat du routage :

Photo de la carte soudée :

Vidéo très courte et en basse résolution de la carte en fonctionnement :

Média:2025-PSE-BB-systeme-video.mp4

Travail effectué

Voici l'état d'avancement des travaux de conception de notre télécommande :

-> 16 février 2026 :

    *Choix du projet : Après l'émergence de plusieurs idées (écran de monitoring et régulation de température, conception d'une manette de jeu, etc.), nous avons finalement décidé de réaliser une télécommande intelligente pour la gestion des présentations. Elle inclura plusieurs fonctionnalités pour aider au mieux l'orateur, comme le contrôle des diapositives et des alertes temporelles bien définies. Nous avons nommé notre projet : SMART PRESENTER.     * Mise en place des outils : Création, configuration et structuration du dépôt Git pour faciliter le partage des fichiers au sein du binôme et permettre le suivi par les examinateurs.      * Documentation : Configuration du Wiki pour tracer nos choix techniques et afficher nos résultats (faisant office de rapport écrit continu de notre travail).

-> 2 mars 2026 : ' Après avoir validé le choix du projet et les configurations initiales, nous sommes passés à la phase de spécification et de conception :    * Définition détaillée des différentes fonctionnalités de la carte.     *Organisation du travail et finalisation de l'architecture globale du système. Il en ressort la nécessité de fabriquer deux cartes distinctes : un socle récepteur (dongle USB) et une télécommande principale sur batterie.    * Début de la conception du schéma électrique pour le socle récepteur (choix des composants et validation de l'architecture).     *Mise à jour du dépôt Git et du Wiki.

-> 9 mars 2026 :     Revue de conception : Contrôle et validation du schéma du socle récepteur par l'examinateur. Quelques corrections ont été apportées suite à ses retours pour fiabiliser la carte.     Nomenclature : Établissement de la liste des composants (BOM) du socle récepteur avec l'identification des références Mouser exactes en vue de l'achat.     Carte principale : Début de la conception schématique de la télécommande principale (SMART PRESENTER).

-> 17 mars 2026 :     fin des corrections des deux cartes (main_board et la receiver_board) de notre télécommande      Assignations des empreintes des composants des deux cartes     Debut du routage de la receiver board


-> 24 mars 2026 :     corrections des derniers erreurs sur les deux cartes ( main board et la receiver board) apres remarques du prof      fin du routage de la receiver board

Bilan

J'indique où j'en suis arrivé à la fin des séances.

Eventuellement la vidéo brève du fonctionnement complet du programmateur : Média:2025-PSE-BB-systeme-final.mp4.

faire une petite mise a jour et met rend cela bien prensenatable