Une télécommande pour Winamp

Introduction

Cet article est paru dans le magazine PC Team numéro 67, avril 2001, au sein de la rubrique “Team pratik” sous rubrique “Électronique”.

pcteam

Article

Avec le format MP3, l’ordinateur est devenu une véritable machine à musique. Cependant, il lui manque encore une télécommande pour être totalement fonctionnel. Quoi de mieux pour mettre en pratique nos connaissances sur le port série.

Les deux montages présentés ici sont les versions les plus utilisées. De ce fait, ils sont tous deux compatibles avec la grande majorité des logiciels que l’on peut trouver sur Internet. Mais leur plus grand avantage est sans conteste leur totale compatibilité avec n’importe quelle télécommande du commerce ; celle d’une télévision, d’une chaîne HI-FI ou, plus pratique, de la télécommande d’un appareil qui ne sert plus (ou du moins qui n’est pas dans la même pièce).

pcteam

Quel bonheur de pouvoir télécommander Winamp!

Le système complet se présente sous la forme d’un récepteur infrarouge et d’un logiciel associé pour pouvoir exploiter les informations en provenance du capteur. Cela peut être un logiciel complet permettant de contrôler tous les évènements de Windows ou bien un plug-in donnant la possibilité de piloter entièrement Winamp. Pour le système de réception proprement dit, il est possible de choisir entre deux versions.

La première, très simple et peu coûteuse, consiste à brancher (presque) directement le décodeur infrarouge au port série et laisse ainsi au logiciel tout le travail de décodage. Cependant, cette méthode est gourmande en ressources et il est beaucoup plus difficile de créer son propre “driver” exploitant ce montage.

La deuxième méthode met en œuvre un microcontrôleur 8 bits de la famille PIC qui fournit tout le travail de décodage. Il dialogue alors avec le PC par l’intermédiaire de l’UART du port série. Dès lors, la programmation d’un logiciel s’en trouve simplifiée. Malgré la plus grande complexité de cette solution, il est possible de s’en sortir facilement en suivant scrupuleusement les instructions de cet article, même si l’on n’en comprend pas le fonctionnement.

Principe

Un signal infrarouge est transmis par une diode infrarouge située au bout de la télécommande. Le récepteur est un phototransistor ou une diode réceptrice infrarouge. La donnée émise par la télécommande est modulée avec une porteuse de fréquence proche des 36KHz. Ainsi, la donnée a moins de risque être perturbée par le “bruit” ambiant. C’est pour cela que l’on va avoir recours non pas à une simple diode réceptrice mais à un module complet de décodage du signal : ainsi, seule l’information (le code de la touche enfoncée) est disponible en sortie.

pcteam

Le brochage du TSOP1736

Plusieurs composants jouent ce rôle, nous utiliserons ici le TSOP1736 (36 représente les 36KHz de la porteuse) de chez Vishay. Normalement, les modules infrarouges avec les références (barbares) suivantes fonctionnent très bien : SFH506-36, SFH5110-36, GP1U52x, IS1U60L mais il en existe bien d’autres. Quelques documentations sont d’ailleurs regroupées sur le CD. Ces composants sont vraiment très fiables et fournissent en sortie un signal TTL (0-5V) qui peut être alors traité assez facilement. Vous trouverez sur le CD le schéma de la première solution. Le module infrarouge est directement connecté au port série et est alimenté par celui ci.

pcteam

Un schéma simple et très performant

Cette méthode, comme nous l’avons dit précédemment, nécessite une grosse partie de programmation car tout le décodage se fait par le PC, avec les temps de scrutation conséquents. Il existe quelques programmes qui gèrent ce montage, comme WinLIRC (les sources sont disponibles), mais ils sont peu ergonomiques et moins puissants que le schéma présenté ici.

L’UIR

Ce récepteur est appelé l’Universal Infrared Receiver pour sa compatibilité avec de nombreux logiciels, tous disponibles sur Internet. Celui-ci se révèle plus compliqué à fabriquer mais offre une ergonomie et une simplicité d’utilisation incomparables. En effet, un microcontrôleur vient s’intercaler entre le module infrarouge et l’UART du port série. C’est ce composant qui va se charger du décodage des signaux reçus. Comme le montre le schéma ci-contre, le dialogue entre le PC et le microcontrôleur est très simple : le processeur envoie une série de 6 octets, différents pour chaque bouton de la télécommande.

Développer son propre programme de gestion devient alors un jeu d’enfant. Le microcontrôleur 8 bits fait parti de la famille bien connue des PIC de Microchip. Il fonctionne à 4MHz et est très performant pour sa petite taille. Deux versions sont proposées :

  • l’une à base d’un 12C509 à 8 broches qui possède une mémoire PROM OTP (One Time Programmable, qui n’autorise qu’une seule programmation définitive) et se trouve aux alentours de 15F.
  • l’autre à base d’un 16F84 à 18 broches qui possède une mémoire FLASH de 2ko ; il a l’avantage d’être re-programmable (à l’instar des mémoires FLASH des modems par exemple) mais coûte plus cher : il faut compter 45F environ.

Quelque soit la solution choisie, il sera nécessaire de programmer le processeur avec le firmware adéquat, les versions pour les deux processeurs étant disponibles sur le CD-Pro sous forme de fichiers objets. Pour cela, nous vous proposons de réaliser un petit programmateur pour les composants PIC appelé JDM (du nom de l’auteur). Puis, à l’aide du programmateur freeware Icprog, on programme la mémoire du microcontrôleur avec le fichier correspondant. Une fois encore, reportez-vous au contenu du CD qui contient toutes les informations utiles et la procédure complète de programmation. La réalisation de ce programmateur ainsi que du module de réception n’est pas très compliquée car il y a peu de composants.

Souder le tout sur une petite plaque à trous ou à bandes cuivrées sera parfaitement fonctionnel. Si les soudures sont propres et le câblage réalisé soigneusement, tout devrait fonctionner du premier coup. Quelques mesures préventives, valables pour tout montage électronique, vous mettra à l’abri des pannes : penser à vérifier l’alimentation des composants (le PIC et le module de réception), faire attention aux soudures et aux courts-circuits (le port série ne craint rien mais le PIC peut en souffrir) et bien sûr respecter le schéma à la lettre. Ne pas hésiter également à consulter les sites Internet des auteurs des montages car on y trouve souvent une FAQ ou des aides en cas de panne.

Les logiciels

Voici venu le moment de le tester votre oeuvre. Brancher le circuit au port série, installer le plug-in Winamp nommé gen_ir.dll situé sur le CD et démarrer le lecteur de fichiers MP3. Si aucun message d’erreur n’apparaît durant cette phase, cela signifie que le composant a été programmé avec succès et que le montage est parfaitement opérationnel. Dans le cas contraire, vérifier à nouveau le niveau de toutes les tensions, le câblage et que le circuit est branché sur le bon port série. Si ça ne fonctionne toujours pas, le PIC est peut-être mal programmé : relancer alors une nouvelle programmation (avec un nouveau composant dans le cas du 12C509).

pcteam

L’interface du plug-in permet de tout configurer

Si le circuit est toujours récalcitrant, penser à vérifier le programmateur en réalisant un montage de test (voir l’aide sur le site de l’auteur). En fait, pour tester que la liaison est valide, le plug-in envoie les deux caractères ‘I’ et ‘R’ au PIC et celui-ci, s’il est bien programmé, doit répondre en renvoyant les deux caractères ‘O’ et ‘K’. Lorsque tout se passe bien, aller dans les paramètres de Winamp, section “Plug-ins”, “General Purpose” et cliquer sur “Configure”. Apparaît alors la fenêtre de configuration représentée ci-contre. Le but est d’assigner un bouton de la télécommande à un évènement de Winamp (passer au titre suivant, faire varier le son ou encore gérer les playlists). Suivre les indications puis fermer la fenêtre et là, oh miracle de l’électronique, vous pouvez zapper tout comme avec la télé. Encore mieux, il est possible à l’aide des logiciels sur le CD de contrôler n’importe quelle application Windows en simulant des raccourcis claviers : un lecteur DVD, un logiciel pour vos présentations etc. Ou encore, un autre logiciel installe un résident en mémoire et permet de démarrer une application, d’éteindre l’ordinateur ou encore de faire bouger le curseur de la souris.

Bref, vous n’avez plus qu’à passer du temps à configurer tous ces programmes pour avoir une application vraiment fonctionnelle.

pcteam

A chaque touche de la télécommande correspond un code

Conclusion

Nous avons là une application qui dépasse le “simple” plug-in Winamp, quoique cette simple utilisation suffirait à s’y intéresser. Vous trouverez sur le CD-Pro les logiciels nécessaires pour contrôler absolument tous les programmes Windows. Il reste à placer le circuit dans une petite boite pour éviter d’abîmer les composants.

Il est possible également de fixer le circuit directement sur le port COM à l’arrière de l’ordinateur et d’utiliser le mur pour la réflexion du signal. La télécommande fonctionne très bien jusqu’à 5m, voire plus selon la qualité des éléments (récepteur, piles de la télécommande etc.). Reliez votre montage au port série avec un câble droit, blindé de préférence si vous voulez éloigner le récepteur à plus de 2m de votre PC.

Encadrés

(Note au 21/06/2017: les liens sont peut-être tous morts 16 ans après !!)

Bookmark

Programmateurs PIC :

  • http://www.rhrk.uni-kl.de/~kiesel/pp2/index.html
  • http://www.h2deetoo.demon.nl/
  • http://www.jdm.homepage.dk/newpics.htm

Récepteurs infrarouges :

  • http://www.geocities.com/SiliconValley/Sector/3863/uir/
  • http://www.epanorama.net/irremote.html

Divers :

  • http://www.pcremotecontrol.com/info.html
  • http://www.microchip.com

Nomenclature

  • Q1 = quartz à 4MHz
  • D1, D2 = diodes Zener 5,1V
  • D3, D4 = diodes 1N4148
  • C1, C2 = 15 ou 22pF
  • C3 = 4,7µF polarisé
  • R1 = 1k Ohms
  • R2 = 100k Ohms