Contrôler un iPod grâce à un PIC18F4550
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Contrôler un iPod grâce à un PIC18F4550



  1. #1
    invite2ad25836

    Question Contrôler un iPod grâce à un PIC18F4550


    ------

    Bonsoir,
    voici mon problème : comme le titre l'indique, j'ai pour projet de contrôler un iPod à l'aide d'un microcontroleur (plus précisément un 18F4550 car c'est ce que j'ai dans mon tiroir ), comme faire Play/Pause etc...
    Par la suite j'y intégrerais une télécommande.
    J'ai déjà fait beaucoup de recherches à ce sujet et j'ai trouvé les principales solution, mais le problème c'est que quand je met en oeuvre le tout, rien ne se passe.
    Voici le site ou j'ai trouvé les caractéristiques des entrées/sorties du dock iPod :ici
    Voici un schéma de mon montage :
    Nom : iPod serial remote.jpg
Affichages : 117
Taille : 22,1 Ko

    c'est sur ce site que j'ai trouvé les adresses séries des commandes de l'iPod

    Et voici mon programme du pic qui est en C, qui est censé mettre play si il y a un état haut sur RA4 :
    Code:
    void main() {
    TRISA=0xFF;
    TRISB=0x00;
    UART1_Init(19200);
    Delay_ms(100);
    
    while(1){
             if(PORTA==0x10){
                             if(UART1_Tx_Idle){
                                               UART1_Write(0xFF);
                                               UART1_Write(0x55);
                                               UART1_Write(0x03);
                                               UART1_Write(0x02);
                                               UART1_Write(0x00);
                                               UART1_Write(0x01);
                                               UART1_Write(0xFA);
                                               };
                             Delay_ms(500);
                             };
             };
    }
    Je programme sous mikroC PRO et la plaque de programmation est une easyPic6

    Si quelqu'un voudrais bien m'aider à résoudre mon problème, ce serait super gentil

    -----

  2. #2
    invite0e5af214

    Re : Contrôler un iPod grâce à un PIC18F4550

    Salut !

    1) Je ne vois pas le debrayage de l'adc (intcon1 = 0xFF).
    2) Ca ne serait pas plutot : if(! Uart1_tx_idle) ??

  3. #3
    invite2ad25836

    Re : Contrôler un iPod grâce à un PIC18F4550

    Merci de ta réponce
    J'essaierai ça demain soir et je vous retiendrais au courant

  4. #4
    invite2ad25836

    Re : Contrôler un iPod grâce à un PIC18F4550

    Bonsoir !
    Bon désolé mais je n'est pas pu essailler jusqu'à aujourd'hui...
    Alors j'ai testé se que tu m'as conseillé, et là deux problèmes et après quelques recherches : pour l'adc ce n'est pas "intcon1=0xFF" mais "adcon1|=0x0F"
    Puis si j'essai avec "if(! Uart1_tx_idle)" il ne veut pas compiler... J'ai donc essaillé ceci :
    Code:
    void main() {
    ADCON1 |= 0x0F;                         // Configure all ports with analog function as digital
    CMCON  |= 7;                            // Disable comparators
    TRISA=0xFF;
    TRISB=0x00;
    UART1_Init(19200);
    Delay_ms(100);
    
    while(1){
             LATB=0x00;
             if(PORTA==0x10){
                             if(UART1_Tx_Idle){
                                               LATB=0xFF;
                                               UART1_Write(0xFF);
                                               UART1_Write(0x55);
                                               UART1_Write(0x03);
                                               UART1_Write(0x02);
                                               UART1_Write(0x00);
                                               UART1_Write(0x01);
                                               UART1_Write(0xFA);
                                               };
                             Delay_ms(500);
                             };
             };
    }
    Et là !! j'ai bien les LED du Port B qui s'allument mais l'ipod ne met toujour pas Play...
    Donc le problème doit venir soit du code série soit du montage...

  5. A voir en vidéo sur Futura
  6. #5
    invite0e5af214

    Re : Contrôler un iPod grâce à un PIC18F4550

    Ok...

    Autant pour moi pour la confusion ADCON/INTCON.
    Pour le =0xFF vs |=0x0F, ca revient au même, l'important étant de mettre à 1 les premiers bits du registres.

    Concernant le if(UART1_Tx_Idle) :
    Mes excuses également, cette ligne est surement correcte.

    Maintenant concernant ton PORTA.
    Je vois que tu met toutes les pins en INPUT (TRISA = 0xFF)
    Es-tu sur que, comme ce que tu as codé, quand tu vas appuyer ton bouton, la PIN RA7 va passer à 5V, et les autres pins vont rester à 0v ??

  7. #6
    invite2ad25836

    Re : Contrôler un iPod grâce à un PIC18F4550

    Non pas RA7 mais RA4 mais sinon oui c'est ça...

  8. #7
    invite0e5af214

    Re : Contrôler un iPod grâce à un PIC18F4550

    Citation Envoyé par cherwam07 Voir le message
    Non pas RA7 mais RA4
    Wouaou, je suis fatigué...

    Citation Envoyé par cherwam07 Voir le message
    et les autres pins vont rester à 0v ??
    Sur et certain ? Tu les as relié à la masse ?

  9. #8
    invite2ad25836

    Re : Contrôler un iPod grâce à un PIC18F4550

    Oui j'en suis sur sur l'easypic à toutes les entrées il y a un bouton poussoir avec une résistance de tirage à la masse.. Mais le problème n'est pas là puisque quand j'appuis sur le Bp le port B est bien déclenché donc le programme rentre bien dans la boucle if..

Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...