Récepteur universel de télécommande USB

Envoyé par le 2 Juil 2014

Quand on monte un lecteur vidéo de salon pour lire ses vidéos, regarder ses images, ou écouter de la musique, l’un des problèmes auquel on se heurte est la télécommande. Plusieurs solutions existent, comme garder un clavier (idéalement sans fil) à proximité, ou utiliser un application smartphone dédié (la télécommande Android pour XBMC est une super application !), mais finalement, rien ne remplace la bonne vieille zappette !

Le problème, c’est que pour utiliser la télécommande sur un PC, il faut un récepteur infrarouge connecté au PC. Il existe quelques designs pour les connecter à un port série, mais les PCs avec port série ne courrent plus vraiment les rues. Dans cet article, je décris donc (très) rapidement un design que j’ai récupéré et adapter pour réaliser un récepteur infrarouge universel (ou presque) compatible USB.

Le design original (ainsi que le code) est disponible ici : http://dicks.home.xs4all.nl/avr/usbtiny/ . Le principe de ce design est le suivant : on utilise un microcontrôleur (ATTiny2313 de Atmel) qui va servir à réaliser un périphérique USB1 et à transmettre les données reçues au PC. Le récepteur infrarouge est un TSOP2438, qui est petit et capable de recevoir même en environnement bruité. Il envoie un 1 quand il reçoit un signal et 0 sinon.

Le code proposé sur la page permet de recevoir les données pour une télécommande de type RC5, ce qui couvre une énorme majorité des télécommandes existantes (la télécommande de la Livebox, des TVs Samsung ou Philips…). Dans le code, on attend des fronts montants ou descendants provenant du TSOP, et on compte le temps entre ces fronts. Chaque touche de la télécommande envoie une séquence de 1 et de 0 avec des temps différents, la lecture des temps permet donc de savoir quelle touche a été utilisée. Le microcontrôleur transmet ensuite via USB la séquence des temps, le PC est en charge de décoder. Le protocole de communication avec le PC est basé sur un design ancien, l’IgorPlugUSB, qui est supporté en particulier par LIRC (sous Linux) et par WinLIRC (sous Windows). Le module devrait donc être reconu immédiatement.

La configuration de LIRC et de WinLIRC se fait ensuite comme avec n’importe quelle télécommande.

Afin de faciliter la réalisation du projet, les fichiers de conception pour Eagle sont disponibles sur le GitHub du Téléfab (https://github.com/telefab/recepteur-inrarouge), ainsi que le code original modifié pour les dernières versions du compilateur. Et voici le résultat !

recepteur_ir1recepteur_ir2

Laisser une réponse

Votre adresse e-mail ne sera pas publiée.