Menu Content/Inhalt
Accueil arrow Afficheurs LCD arrow Winamp LCD
Winamp LCD Version imprimable
14-03-2007

Ce montage permet de piloter Winamp à partir d’une télécommande infrarouge et d'afficher le titre de la chanson sur un écran LCD de 122x32 pixels.

 Image

Il utilise un PIC16F877 relié au port RS232 du PC pour la réception infrarouge. L’affichage est  confié à un afficheur LCD graphique 122x32 (drivers NJU6450A ou SED1520) avec rétroéclairage de chez Selectronic (réf 41.6026 à 13,50 euro TTC). Celui-ci permet d’afficher des images de 122x32 pixels, par contre il ne permet pas d’afficher directement du texte, c’est le PIC qui s’en charge ; ainsi on peut afficher 20 caractères (x 4 lignes) avec la police 5x7 et 15 caractères avec la police 8x8. Le PC envoie le texte et les images via le port série au PIC qui les retransmet à l’afficheur avec checksum de vérification. Cette solution permet de gagner du temps au niveau du PC qui n’a pas à gérer les polices 5x7 et 8x8 et divise donc les transferts par 6 à 8.

Image 

Il est possible d’utiliser cet afficheur avec n’importe qu’elle application si vous savez comment récupérer les informations de cette appli. En effet l’afficheur est esclave et c’est le PC qui lui dit où il doit afficher du texte (police 5x7 et 8x8), des lignes, des points, des rectangles (trait, plein, vide), des cercles, des bitmaps (en EEPROM et à partir du PC).

J’utilise un pentium 100 MHz avec 64Mo de RAM sous Windows 98. En fait, je voulais faire ce lecteur MP3 sous DOS, mais MPXPLAY  ne fonctionne pas correctement sur mon PC. J’ai donc décidé d’utiliser Winamp et de le commander avec un logiciel en VC++ et Qt (pour l’interface).
Maintenant je compte plutot m’en servir dans mon PC “dernier cri” pour piloter Winamp (c’est fait), Windows Media Player, KTV, ...

 

Logiciel :

La version actuelle du logiciel affiche le nom du mp3 sur 2 lignes (40 caractères), le temps courant de la chanson / le temps total de la chanson, un vumètre pour le temps (graphique), l’heure, le débit en KBPS, la fréquence d’échantillonage en KHz, et le volume avec un vumètre (graphique).
Le décodage infrarouge fonctionne avec la plupart des télécommandes (PHILIPS, CARENA, WORLDSAT, UNIVERSUM)
Ne marche pas avec : TOSHIBA, BRANDT, MITSUBISHI, SAMSUNG
La réception infrarouge utilise les interruptions sur fronts de RB0 et le timer 0 avec un prescaler à 1:128. Il faut donc que les états hauts et bas du code IR rentrent dans la plage 222µs - 6ms.
OK : RC5 (Testé), Denon, NEC, Motorola
KO : SIRCS
Choix du récepteur infrarouge : je vous conseille plutot les version plastiques type PIC12043S (farnell), TEMIC : TK1838, TFMS5360.
J’utilise un SBX1619 comme on peut le voir sur la photo ci-dessous, mais celui-ci est assez sensible aux lampes à économie d’énergie et aux tubes néons (apparition de glitchs). J’ai du modifier le logiciel du PIC pour éliminer ces codes parasites : il n’y donc plus de problème de réception mais je vous conseille quand même les versions plastiques qui sont moins sensibles à ces parasites. J’ai déjà essayé le PIC12043S, le TK1838 et une autre version de chez Temic qui marchent à merveille.

Image

Téléchargements :

Schéma + typon PDF (72 KB)

Schéma GIF Mk2 (80 KB)

Liste des composants (5 KB)

    R5 est inutile : la pull-up est intégrée au récepteur infrarouge
    Il faut mettre un capteur de température LM75 au lieu du DS1621 (j’ai grillé le mien !!!)

 

Note sur le montage :

- Attention à l’entretoise du milieu : il faut mettre une rondelle isolante ou une entretoise plastique sinon RB0 est court-circuitée à la masse. L’ICL7660 n’est pas forcément nécessaire : il permet juste d’obtenir un contrate plus foncé à -0,5V. Donc le contrate est à régler entre 0V et -0,5V.

- Connecteur Molex d’alimentation : je vous conseille d’en récupérer un sur un lecteur de CD-ROM ou un disque-dur usagé.

      

Programme du microcontrôleur :

Code source Hi-Tech PICC Mk2 (73 KB)

    Description des fichiers :

    - winmp3.c, winmp3.h : programme principal + decodage infrarouge
    - port.h : #define pour configuration des entrées / sorties
    - lcd.c, lcd.h : routines pour l’afficheur 122x32, bus i2c, rs232, clavier
    - font5x7.c : tableau constant pour stockage de la police 5x7 en ROM
    - font8x8.h : tableau constant pour stockage de la police 8x8 en ROM
    - i2c.c, i2c.h : bus i2c pour EEPROM 24C64, 24C128 ou 24C256 (module hard)
    - rs232.c, rs232.h : usart RS232 à 57600 bauds
    - delay.c, delay.h : temporisations
    - eeprom.c, eeprom.h : eeprom interne + flash
    - capteur.c, capteur.h : capteur de temperature i2c (DS1621), LM75
    - Boot24M115k16F877/A.hex : bootloader (voir page sur le bootloader)
    - winmp3.hex : fichier hex pour programmer le PIC

     

Programme Windows : 

Source + exe Visual C++ / QT (150404) fonctionne sous W98 / Xp (285 KB) 

    Visual C++ version 6.0 et Qt v2.30 non commercial (www.trolltech.com)
    Permet de controler Winamp v2.xx, KTV 1.2.0.2 et Window Media Player

Nécessite les DLL Qt2.30nc (1 MB) (et msvcrt.dll sous windows98)


Image  Ces 2 programmes sont en cours de réalisation. Il reste à faire la gestion de l’extinction de Windows98, l’affichage de la playlist, le chargement de tous les Mp3 à partir du lecteur de CD-ROM, fichier de configuration .ini(XML?), le contrôle du volume général, de l’écran de veille ...
Les codes infrarouges sont marqués en dur dans le code de ‘commandThread.cpp’ il faudra donc recompiler l’application avec vos Codes IR trouvés avec la ligne de débug ‘ir=00000000’ au dessus du bouton ‘Update Info’ de l’application.

 

Exécution de l'application :

Il faut charger Winamp avant de lancer WinIR. (la configuration du port série est statique pour l’instant : COM1 à 57600 bauds, 8 bits, pas de parité, 1 stop, pas de controle de flux)

Image

 

Le circuit de façade est prévu pour entrer dans une baie 5”1/4. L’autre circuit doit être fixé avec 3 entretoises dans un vieux lecteur de CD-ROM par exemple ou tout autre système de fixation.
Le câble série utilise les points 2, 3 et 5 de la DB9 femelle.

Mise en boitier (CD-ROM 5”1/4) :

Image

Image

Image

Image

 

Dernière mise à jour : ( 20-03-2007 )
 
designed by www.madeyourweb.com