Projet DIY de télécommande universelle avec ESP32, microphone et LEDs rétroéclairées

Figure 1 : Pourquoi acheter une télécommande fermée quand vous pouvez construire la vôtre, entièrement personnalisable et intégrée à votre écosystème domotique ?

Bienvenue sur TechFix Hub ! Les télécommandes modernes comme le Roku Voice Remote Pro sont indéniablement pratiques : rétroéclairage, commande vocale et localisateur intégré. Mais pour un passionné d'électronique, elles restent des "boîtes noires" propriétaires, impossibles à modifier ou à intégrer pleinement à un système domotique ouvert comme Home Assistant.

Et si vous pouviez construire votre propre télécommande universelle ? Dans ce guide, nous allons concevoir un contrôleur maître alimenté par un ESP32, capable d'envoyer des signaux IR/RF, de comprendre vos commandes vocales, de s'illuminer dans le noir et de retrouver son chemin grâce à un buzzer. Bienvenue dans le futur du DIY !

💡 Le Concept : Plus Qu'une Simple Télécommande

Notre objectif est de surpasser les fonctionnalités du commerce en ajoutant la flexibilité du monde Maker :

  • Universelle : Émetteur IR (Infrarouge) et RF (Radiofréquence 433 MHz) pour contrôler TV, clim, amplis et volets.
  • Vocale (Locale ou Cloud) : Intégration d'un microphone I2S pour la reconnaissance vocale (via ESP-Skainet ou relais MQTT vers Home Assistant).
  • Rétroéclairage Intelligent : LEDs RGB (WS2812B) qui s'activent au mouvement (accéléromètre) ou par pression d'un bouton.
  • Fonction "Find My Remote" : Un buzzer piézoélectrique activable depuis votre smartphone pour la retrouver sous le canapé.
  • Autonomie : Batterie LiPo 18650 avec gestion de charge via TP4056 et mode Deep Sleep pour des semaines d'autonomie.

🛠️ Liste des Composants (BOM)

Composant Référence Suggérée Rôle
Microcontrôleur ESP32-WROOM-32 (ou ESP32-S3 pour l'IA locale) Cerveau du système, gestion WiFi/Bluetooth et traitement du signal.
Émetteur/Récepteur IR LED IR 5mm + Récepteur VS1838B Apprendre et rejouer les codes de vos appareils existants.
Microphone INMP441 (I2S) Capture audio haute qualité pour la commande vocale.
Rétroéclairage Bande LED WS2812B (NeoPixel) Éclairage des boutons et feedback visuel d'état.
Alerte Sonore Buzzer piézoélectrique actif 5V Fonction "Localisateur" (Find My Remote).
Alimentation Batterie 18650 + Module TP4056 (avec protection) Autonomie portable et recharge via USB-C.

⚡ Architecture et Câblage

La beauté de l'ESP32 réside dans sa richesse en périphériques. Voici comment orchestrer les connexions :

  1. Bus I2S : Reliez le microphone INMP441 aux broches I2S de l'ESP32 (ex: SCK sur GPIO 14, WS sur GPIO 32, SD sur GPIO 33) pour un flux audio numérique propre, sans bruit de fond analogique.
  2. Émission IR : La LED IR est pilotée par une sortie PWM (ex: GPIO 4) via un transistor NPN (comme le 2N2222) pour amplifier le courant et garantir une portée suffisante.
  3. Gestion de l'Énergie : Le module TP4056 gère la charge de la batterie. Une broche GPIO de l'ESP32 est configurée pour détecter la présence du chargeur et mettre le système en Deep Sleep quand la télécommande est inactive pendant plus de 30 secondes, prolongeant l'autonomie à plusieurs semaines.

💻 Extrait de Code : Émission IR et Réveil par Mouvement

Voici un exemple simplifié utilisant la bibliothèque IRremoteESP8266 pour envoyer un code de mise en marche, combiné à une logique de réveil.

#include <IRremoteESP8266.h>
#include <IRsend.h>

const uint16_t kIrLed = 4;  // Broche de la LED IR
IRsend irsend(kIrLed);

// Code hexadécimal "Power On" d'une TV Samsung (exemple)
const uint64_t kSamsungPower = 0xE0E040BF;

void setup() {
  irsend.begin();
  // Configuration du réveil par tactile ou bouton physique
  pinMode(0, INPUT_PULLUP); // Bouton "Find Me" ou réveil
  esp_sleep_enable_ext0_wakeup(GPIO_NUM_0, 0);
}

void loop() {
  // 1. Allumer le rétroéclairage (LEDs WS2812B)
  // 2. Envoyer le signal IR
  irsend.sendSamsung(kSamsungPower, 32);
  
  // 3. Retour en Deep Sleep pour économiser la batterie
  esp_deep_sleep_start();
}
💡 Astuce de Pro : Pour la fonction "Localisateur", abonnez simplement votre ESP32 à un sujet MQTT (ex: `telecommande/find`). Lorsque vous appuyez sur un bouton dans votre application domotique, l'ESP32 reçoit le message et active le buzzer pendant 10 secondes, même s'il était en veille profonde (grâce au "light sleep" ou à un timer matériel).

🖨️ Conception du Boîtier (3D Print)

Pour un rendu professionnel, concevez votre propre boîtier en utilisant un logiciel de CAO (Fusion 360, Tinkercad) et imprimez-le en PETG (plus résistant à la chaleur et aux chocs que le PLA). Prévoyez des ouvertures pour :

  • La LED IR (en haut, sans obstruction).
  • Le port USB-C pour la recharge.
  • Les trous du buzzer pour une diffusion sonore optimale.
  • Un diffuseur en impression 3D (ou en acrylique dépoli) pour les LEDs de rétroéclairage des boutons.

🔗 Pour Aller Plus Loin sur TechFix Hub

La domotique et le contrôle infrarouge sont des piliers de nos projets. Consultez ces guides complémentaires :

✅ Conclusion

Construire votre propre télécommande universelle avec un ESP32 n'est pas seulement un exercice de style : c'est la garantie d'avoir un outil parfaitement adapté à vos besoins, réparable, et entièrement intégré à votre écosystème domotique. Fini les télécommandes propriétaires qui deviennent obsolètes : avec le DIY, vous avez le contrôle total, du matériel au logiciel.

🛠️ Un projet de télécommande en tête ?

Vous avez des questions sur le choix du microphone I2S, le décodage des signaux IR ou la conception du boîtier 3D ? Posez votre question dans les commentaires ci-dessous, la communauté TechFix Hub se fera un plaisir de vous aider !

Mots-clés : Télécommande DIY ESP32 Domotique Infrarouge (IR) Impression 3D

Bottom Ad [Post Page]