Projets / Télécommande Infrarouge Autonome (Projet 32)
Projet industriel n°32 · Grenoble INP - Phelma · Année 2025 — 2026
Télécommande infrarouge autonome pour vidéoprojecteurs
Système embarqué autonome d'extinction des vidéoprojecteurs de la salle des conseils de Grenoble INP - Phelma : rétro-ingénierie du protocole infrarouge NEC (38 kHz), fusion multi-capteurs (PIR, radar mmWave, son, VGA), carte électronique sur mesure sous KiCad 9 et firmware Raspberry Pi Pico 2WH (MicroPython & C++).
Ressources du projet
Phase 1 · Prototypage breadboard (Arduino Uno)
Câblage initial sur plaque d'essai : Arduino Uno, 2 capteurs PIR, 4 LDR (A0–A3), récepteur et LED IR.
Phase 2 · PCB sur mesure (KiCad 9 — v1.2)
Carte finale double face accueillant le Raspberry Pi Pico 2WH, l'étage LDO 5V et les connecteurs dédiés.
1. Contexte et cahier des charges (SysML)
À l'issue des réunions en salle des conseils, les vidéoprojecteurs restent fréquemment allumés toute la nuit — environ deux fois par semaine, soit près de 1 250 heures par an sur une durée de vie totale de lampe de 3 000 à 4 000 heures, soit près d'un tiers de leur durée de vie. Le système conçu répond à trois niveaux d'exigences fonctionnelles :
-
Détection de l'état réel des vidéoprojecteurs
Mesure directe de la tension sur les sorties VGA (VGA1, VGA2) couplée à des photorésistances (PGM1201) afin de ne commander l'extinction que si l'appareil ciblé est effectivement sous tension.
-
Surveillance multi-capteurs de l'occupation
Fusion des informations issues d'un capteur de mouvement infrarouge passif (SBC-PIR), d'un radar de présence à ondes millimétriques (mmWave Gravity SEN0609) et d'un détecteur acoustique (SEN-14262).
-
Extinction automatique et mode Sniffer d'apprentissage
Émission d'une salve infrarouge d'extinction après 1h30 (5 400 s) d'inactivité, et clonage à la volée d'une nouvelle télécommande par simple appui long (3 s) sur le bouton d'apprentissage (GPIO19).
2. Architecture matérielle et carte PCB (KiCad 9)
La carte électronique double face (135 × 130 mm) intègre un étage de régulation linéaire 5V (TLV1117-50, alimenté en 12V DC via J1) et centralise l'ensemble des capteurs et actionneurs autour du microcontrôleur Raspberry Pi Pico 2WH.
Brochage de la carte électronique (v1.2)
| Connecteur | Broche MCU | Rôle fonctionnel |
|---|---|---|
| J_VGA1 / J_VGA2 | GPIO3 / GPIO2 | Lecture de l'état sous tension des vidéoprojecteurs 1 et 2. |
| J_Photoresistance1/2 | ADC0 / ADC1 | Mesure analogique de luminosité (PGM1201). |
| J_DETECTEUR_MOUVEMENT1 | GPIO16 | Capteur de mouvement infrarouge passif (SBC-PIR). |
| J_DETECTEUR_PRESENCE1 | GPIO17 | Radar de présence mmWave (SEN0609). |
| J_CAPTEUR_SONORE1/2 | GPIO20 / GPIO21 | Enveloppe acoustique et seuil binaire (SEN-14262). |
| J_EMETTEUR1 / 2 | GPIO7 / GPIO14 | Commande PWM 38 kHz des 2 émetteurs IR (GT1087). |
| J_RECEPTEUR1 | GPIO18 | Réception et apprentissage (Sniffer) de trames IR (GT1089). |
| J_Bouton1 | GPIO19 | Bouton d'activation du mode apprentissage (3 s). |
Nomenclature complète (BOM) : Raspberry Pi Pico 2WH (SC1634), régulateur LDO TLV1117-50, capteur sonore SEN-14262, radar mmWave Gravity SEN0609, capteur PIR SBC-PIR, 4 photorésistances PGM1201, 2 émetteurs IR GT1087, récepteur IR GT1089, bouton poussoir R1381R.
3. Rétro-ingénierie du protocole NEC et firmware embarqué
Le signal émis par la télécommande d'origine face au récepteur GT1089 a été capturé à l'oscilloscope numérique Tektronix et décodé via un banc Arduino Uno, révélant une modulation NEC sur porteuse à 38 kHz de valeur hexadécimale brute 0x6F905583 : en-tête de synchronisation (9 ms + 4,5 ms), bit logique 0 (562 µs + 562 µs) et bit logique 1 (562 µs + 1 675 µs).
Principe temporel du protocole NEC
Capture de la trame IR à l'oscilloscope
Le firmware principal, embarqué en MicroPython sur le Raspberry Pi Pico 2WH, pilote simultanément les deux émetteurs IR via des générateurs PWM matériels cadencés à 38 kHz (rapport cyclique 50 %). Un triple tir d'extinction envoie 3 trames NEC consécutives espacées de 500 ms pour garantir la prise en compte de la commande. Le mode d'apprentissage universel, déclenché par un appui de plus de 3 secondes sur le bouton GPIO19, place le boîtier en écoute sur le récepteur GT1089, mesure à la microseconde les 67 fronts successifs du signal capté et met à jour dynamiquement en mémoire le code de la télécommande clonée.
4. Conception mécanique et intégration du boîtier
Pour protéger la carte électronique de la poussière dans le faux plafond tout en intégrant les passages de câbles et l'interface utilisateur, une première modélisation 3D (boîtier perforé et couvercle à poignée) a laissé place à la solution retenue : un boîtier en bois assemblé à créneaux (14 × 15,5 × 10 cm), généré via boxes.py, adapté en CAO 2D pour les perçages des connecteurs et fabriqué au FabLab de Phelma.
5. Mon rôle et l'équipe projet
Chef de projet de l'équipe « Télécommande autonome » (4 coéquipiers : Amaury Simonnot, Corentin Pilleux, Corentin Eletti, Reda Lounis), au sein d'un projet n°32 mené en 2025-2026 à Grenoble INP - Phelma, encadré par Julien Traveaux, Sophie Cornu et l'équipe du FabLab. Au-delà de la coordination d'équipe, ma contribution technique a couvert :
-
Conception de la carte PCB sous KiCad 9
Schéma électrique, routage double face et régulation d'alimentation de la carte finale (135 × 130 mm) autour du Raspberry Pi Pico 2WH.
-
Rétro-ingénierie du protocole infrarouge NEC
Capture et décodage à l'oscilloscope de la trame de la télécommande d'origine, puis reproduction du signal sur banc Arduino.
-
Firmware MicroPython du Raspberry Pi Pico
Génération PWM 38 kHz, logique de triple tir d'extinction et implémentation du mode Sniffer d'apprentissage universel.
-
Conception et fabrication du boîtier
Modélisation 3D, génération du plan de découpe laser (boxes.py) et assemblage au FabLab de Phelma.
6. Résultats
Un prototype fonctionnel validé en conditions réelles dans la salle des conseils : détection fiable de l'état des vidéoprojecteurs et de l'occupation de la salle, extinction automatique après 1h30 d'inactivité et mode d'apprentissage universel opérationnel — permettant d'éviter jusqu'à 1 250 heures par an d'allumage inutile, soit près d'un tiers de la durée de vie des lampes.