[Outils/Fab/Comp] Interfacer une télécommande IR - Page 2
Répondre à la discussion
Page 2 sur 3 PremièrePremière 2 DernièreDernière
Affichage des résultats 31 à 60 sur 69

Interfacer une télécommande IR



  1. #31
    alainav1

    Re : Interfacer une télécommande IR


    ------

    Bonjour,
    tu mets la sortie à 1 ou à 0 (de toutes les façons tu peux pas mettre d'autres valeurs )
    le but c'est d'alimenter ou pas ta led via le transistor
    cordialement
    Alain

    -----
    Décider de faire, c'est bien . Décider quand, c'est mieux !

  2. #32
    davidif

    Re : Interfacer une télécommande IR

    OK Merci , j'ai récupérer le schéma de la télécommande qui n'est pas très compliqué

    IR.jpg

    il suffit juste que je me mette sur la bonne pattes (:

    TEK00000.jpg

    a priori la fréquence de la modulation est de 38,4KHZ

  3. #33
    alainav1

    Re : Interfacer une télécommande IR

    Bonjour,
    le schemas IR.jpg est le montage à transistor qui permet d'amplifier le courant qui sort du µP la telecommande (en amont du transistor un µP est connecté à ton schémas ).
    mais il te faut creer la trame de l'oscillo dans le µP pour qu''il pusse l’émettre?
    la modulation c'est surement 38KHz mais il faut bien créer la trame de la commande ( c'est a dire j'envoie ou pas du 38KHZ propre au code que tu veux emettre)
    cordialement
    Alain
    Décider de faire, c'est bien . Décider quand, c'est mieux !

  4. #34
    davidif

    Re : Interfacer une télécommande IR

    Citation Envoyé par alainav1 Voir le message
    Bonjour,
    le schemas IR.jpg est le montage à transistor qui permet d'amplifier le courant qui sort du µP la telecommande (en amont du transistor un µP est connecté à ton schémas ).
    mais il te faut creer la trame de l'oscillo dans le µP pour qu''il pusse l’émettre?
    la modulation c'est surement 38KHz mais il faut bien créer la trame de la commande ( c'est a dire j'envoie ou pas du 38KHZ propre au code que tu veux emettre)
    cordialement
    Alain
    Oui alainav1, un micro entre dans R3, en tout cas je le suppose car c'est un petit composant dip8 dont je ne lit pas de ref sur le boitier.
    Après il n'est pas forcement utile de déchiffrer complètement la trame, mais de repéter les temps de modulation je suppose, afin de répéter la même chose en sorti du micro ... si j'ai bien compris

  5. #35
    davidif

    Re : Interfacer une télécommande IR

    Bonjour,

    je reviens vers vous pour savoir si le seul composant de la carte vous dis quelques chose
    Nom : photo.jpg
Affichages : 69
Taille : 339,1 Ko

    Les numéros aux emplacement des contacts sont le numéros des pin du dip8

    afin d'envisager les deux solutions pour cause de temps, c'est à dire :

    placé des mosfet ou quelques chose de ce genre pour mettre en contact à la place des boutons d'origine et encore je sais pas trop comment les connecter puisque je ne suis pas sûr des tensions appliqué sur certains emplacement numéroté par les nom de pin du dip8 d'en haut ...

    ou

    simuler proprement le signal en sortie de mon micro, ce que j'aimerai bien faire, mais j'ai peur que ça me prenne du temps.

  6. #36
    PIXEL

    Re : Interfacer une télécommande IR

    c'est un circuit programmé à la fabrication...

    introuvable dans le commerce

  7. #37
    davidif

    Re : Interfacer une télécommande IR

    Citation Envoyé par PIXEL Voir le message
    c'est un circuit programmé à la fabrication...

    introuvable dans le commerce
    Merci pour l'info

    je m'en doutais un peux, mais bon après ... et dans l'éventualité si il me manquait du temps, je souhaiterai me mettre sur les contacts, comment je pourrai faire ?

  8. #38
    PIXEL

    Re : Interfacer une télécommande IR

    en soudant des fils.... mais j'arrive pas à piger ce que tu veux faire

  9. #39
    davidif

    Re : Interfacer une télécommande IR

    Citation Envoyé par PIXEL Voir le message
    en soudant des fils.... mais j'arrive pas à piger ce que tu veux faire
    En fait, je souhaiterai envisager 2 solutions et la première qui me parait plus simple (et encore) serait de mettre en contact par le biais de transistor ou mosfet quelque chose comme ça ... pour pouvoir commander ma commande IR par une sortie de mon micro pic32.
    Seulement ne connaissant pas les potentiels appliqué sur les contacts mis à par les -(moins) je ne sais pas trop comment polariser des transistors ou autres.

    Après la deuxième solution serait de décoder et générer par mon micro directement, mais ça implique plus de temps pour simuler.

  10. #40
    PIXEL

    Re : Interfacer une télécommande IR

    je vois , y'a du taf !

    pour la premiére soluce , optocoupleur obligatoire

  11. #41
    davidif

    Re : Interfacer une télécommande IR

    Citation Envoyé par PIXEL Voir le message
    je vois , y'a du taf !
    Je suppose que tu parle pour l'interprétation des données en sorti du pic ?


    Citation Envoyé par PIXEL Voir le message
    pour la premiére soluce , optocoupleur obligatoire
    Cette solution est faisable avec opto ? si je place leur sortie de part et d'autre des contacts ? tu penses, même si je connais pas les potentiels ;

  12. #42
    PIXEL

    Re : Interfacer une télécommande IR

    je ne connais pas les détails.... si t'es pas sur , sous-traite !

  13. #43
    davidif

    Re : Interfacer une télécommande IR

    Citation Envoyé par PIXEL Voir le message
    je ne connais pas les détails.... si t'es pas sur , sous-traite !
    c'est qu'une petite partie du projet, je peux pas sous-traité que ça, et puis le sous-traitant ce posera les mêmes questions, sur cette commande IR.
    En terme de détailles, y a pas grand chose d'autre, c'est de pouvoir la commander par une action logique provenant d'un micro, après si l'on peut mettre des opto comme tu dis, moi ça me va, je ferai des essais car le transistor en sortie de l'opto ouvre le circuit en remplacement du bouton manuel de le télécommande(à vérifier).

  14. #44
    padouai

    Re : Interfacer une télécommande IR

    il y a belle lurette, j'avais fait un montage très simple qui était branché sur l'entrée micro de la carte son (soundblaster) pour visualiser les trames, tu devrais trouver ça sur la toile.

  15. #45
    padouai

    Re : Interfacer une télécommande IR

    la solution la plus propre, tu refais ta propre télécommande en décodant er recodant les trames, au lieu de bricoler l'existante.

    tu pourras reproduire ton pic plus rapidement que de rebricoler une autre télécommande à l'avenir.

    tu auras toujours la télécommande originale pour reprendre la main si ton montage venait à être en panne (verre d'eau renversé, soudure sèche, etc).

  16. #46
    davidif

    Re : Interfacer une télécommande IR

    Citation Envoyé par padouai Voir le message
    la solution la plus propre, tu refais ta propre télécommande en décodant er recodant les trames, au lieu de bricoler l'existante.

    tu pourras reproduire ton pic plus rapidement que de rebricoler une autre télécommande à l'avenir.

    tu auras toujours la télécommande originale pour reprendre la main si ton montage venait à être en panne (verre d'eau renversé, soudure sèche, etc).
    je suis entièrement d'accord avec toi, et je vais aller dans ce sens là, seulement c'est la première fois que je dois essayé de décoder et implémenter et le temps mes impartie donc je voulais envisager les deux solutions sur une carte a fabriquer et que je n'aurai pas le temps de refaire si ça ne marche pas.

    Evidemment, il faut faire les essais avant le routage, et c'est ce que je vais faire.

  17. #47
    davidif

    Re : Interfacer une télécommande IR

    Salut ,

    Je reviens parmis vous car ayant ma carte fonctionnelle en grande partie, je vais devoir m'attaquer à la commande infra-rouge et donc simuler mes trames.

    En sortie microprocessor de la télécommande donc base du transistor j'avais donc ça :
    TEK00000.jpg

    Je me suis mis en sortie d'un recepteur IR type TSOP comme préconisé pour décoder ma trame : et voila ce que j’obtiens
    TEK00001.jpg

    Je remarque qu'elle coïncide à un détaille près, ce sont les 0 qui diffère, je suppose donc que c'est de la modulation à 38khz.

    Donc moi en voyant mon signal propre en sortie du tsop, je me suis dit qu'il suffisait de sortir la même chose de mon micro pour le balancer directement sur la base du transistor , en envoyant un zero ou un 1 tel que vue sur la trame, est -ce juste ?

    ou faut-il sortir le même signal de sortie joint ci-dessus (le premier), en modulant les 0 ?

    d'après mon signale de sortie TSOP, on à un start de 0 pd 9,12ms puis 1 pd 4.5ms puis le code.

    Merci de votre aide

  18. #48
    davidif

    Re : Interfacer une télécommande IR

    Par contre, la question que je me pose est savoir , si je code en C ou assembleur par rapport à la modulation notamment

    en fait, j'ai un oscillateur de 8 mhz avec pll x4 donc 32Mhz, seulement quand je fais un simple sortie=~sortie; j'ai de 2ms de fréquence, je suppose que derrière cette ligne plusieurs états sont effectué ce qui réduit considérablement le temps d'execution.

    Ce qui implique de le faire en assembleur, seulement ça fait un bon moment que je n'ai pas fait d'assembleur et comment l'inclure dans mon soft ? je crée un fichier .s dans lequel je met mon code puis je l'appel ? comment appeler une fonction en assembleur ?

    Sa voudrait donc dire que dans ce cas les instructions en assembleur exécuterons pour chaque à la fréquence de mon oscillateur x4 donc 32mhz ?

  19. #49
    davidif

    Re : Interfacer une télécommande IR

    Bonjour,

    Dans le but de simuler ma télécommande infra-rouge et ayant repérer le protocole utilisé (nec)
    http://stephane.vercleven_lycee.pers..._IR/Fiche2.PDF

    j'ai noté tout les temps et changement d'état de ma trame que j'ai placé dans un tableau
    Nom : TEK00001.jpg
Affichages : 57
Taille : 98,4 Ko

    Mon tableau des temps :

    Code:
    uint16_t trente_mn[67]={9120,4500,540,600,540,1720,540,600,540,600,
                            540,600,540,600,540,600,540,600,540,1720,
                            540,600,540,1720,540,1720,540,1720,540,1720,
                            540,1720,540,1740,540,1720,540,600,540,1700,
                            560,600,540,600,540,600,520,620,520,620,
                            520,600,540,1720,540,600,540,1720,540,1720,
                            540,1740,520,1720,540,1740,540};
    Puis j'ai commencé par coder une boucle for de ce style :
    Code:
                                        for(i=0;i<67;i++)
                                        {
                                
                                            duree=trente_mn[i];
                                            duree=(duree*38);
                                            IR=~IR;  // d10 (RC3) 
                                            while(!duree)
                                            {
                                            duree--;    
                                            }    
                                        }
    Les premiers essais ça ressemblait vaguement à quelque choses , malgrés l'aspect changeant des pulse de temps en temps, j'ai donc fait quelques modif
    et depuis je ne comprend pas , mon tableau est comme invisible ma boucle ne le prend plus, en mode débug, je fais donc du pas à pas, et il ne passe pas dessus pour récupérer la valeur.
    je suis donc revenu en arrière, seulement impossible de prendre en compte les valeurs du tableau.

    Je reçois bien une trame, mais dont les pulses son de la même durée, s'est à dire 200ns au nombre de 67, mais je ne parviens plus à faire varier les temps.

    je suis passé sur un while, mais c'est la même chose

    Code:
                            while(i<=10)
                            {
                                i++;
                                //duree=(duree*38)
                                duree=trente_mn[i];
                                IR=~IR;  // d10 (RC3) 
                                while(!duree)
                                    {
                                    duree--;    
                                    }    
                            }
    Merci pour votre aide, car là je comprend pas ce qui ce passe.
    Dernière modification par davidif ; 12/07/2016 à 15h52.

  20. #50
    biloux911

    Re : Interfacer une télécommande IR

    Bonjour,

    La question commence à sortir de la spécialité du forum mais je tente une réponse :

    Si tes modifications de code ne sont plus visibles physiquement c'est probablement qu'il y a boulette dans la génération des binaires flashés.
    Vérifie les options du compilateur et fait un petit ménage dans les fichiers générés. Vérifie que le fichier que tu modifies est bien celui que tu compiles (ça parait évident mais je pense qu'on l'a tous déjà faite celle là...).

    Bonne chance

  21. #51
    biloux911

    Re : Interfacer une télécommande IR

    while(!duree) t'es sûr que ça fonctionne ?

  22. #52
    davidif

    Re : Interfacer une télécommande IR

    Bah, en fait ma variable duree est évidemment initialisé à 0 et comme cette valeur reste à zéro , je ne passe pas dans le while puisque la condition est de rentrer si duree et différent de 0.

    Et une fois dans ma boucle, il saute l'attribution d'une valeur de mon tableau, je ne comprend pas, pourtant je compile bien le bon fichier puisque quand je change le nombre de fois que je boucle, là par contre c'est bien pris en compte, car au lieu de faire 10 changement d'état, je vais en faire 20 par exemple, que je remarque bien à l'oscilo.

    en fait, que je fasse ça

    Code:
                if (Diffuseur_val==1)
                
                {
                            for(i=0;i<=20;i++)
                            {
                             
               
                                IR=~IR;  // d10 (RC3) 
                            }
                                
    
                
                }
              
                Diffuseur_val=0;
                IR=1;  // d10 (RC3)

    ou ça


    Code:
                            for(i=0;i<=20;i++)
                            {
                             
                                duree=(duree*38)
                                duree=1500;//trente_mn[i];
    
                                while(!duree)
                                    {
                                    duree--;    
                                    } 
                                IR=~IR;  // d10 (RC3) 
                            }
                                
    
                
                }
              
                Diffuseur_val=0;
                IR=1;  // d10 (RC3)

    j'ai le même résultat
    Dernière modification par davidif ; 12/07/2016 à 18h41.

  23. #53
    biloux911

    Re : Interfacer une télécommande IR

    ce qui me parait 100% normal !
    Sauf si tu nous caches des morceaux de code mais duree = 1500 donc duree n'est pas égale à 0 donc duree = true donc !duree = false donc tu ne rentres jamais dans le while.
    il faut while(duree) à mon avis

  24. #54
    davidif

    Re : Interfacer une télécommande IR

    Oui , apparemment je me serais trompé dans la condition du while , j'ai mis while(duree!=0) et ça passe à nouveau dedans.

  25. #55
    davidif

    Re : Interfacer une télécommande IR

    J'ai donc fais comme ça, et ça semble fonctionner, tout du moins ça rentre dans le while


    Code:
                            case 1 :
                                {
      
                          
                                        for(i=0;i<67;i++)
                                        {
                                
                                            duree=trente_mn[i];
                                            //duree=(duree*38);
                                            IR=etat[i];  // d10 (RC3) 
                                            while(duree)
                                            {
                                            duree--;    
                                            }    
                                        }
                                
                                Diffuseur_val=0;
                                IR=1;  // d10 (RC3) 
                                break;
                                }
    J'ai donc déclaré mes tableaux et variable comme tel

    Code:
    uint32_t module,duree;
    
    uint8_t i;
    
    uint16_t trente_mn[67]={9120,4500,540,600,540,1720,540,600,540,600,
                            540,600,540,600,540,600,540,600,540,1720,
                            540,600,540,1720,540,1720,540,1720,540,1720,
                            540,1720,540,1740,540,1720,540,600,540,1700,
                            560,600,540,600,540,600,520,620,520,620,
                            520,600,540,1720,540,600,540,1720,540,1720,
                            540,1740,520,1720,540,1740,540};
    
    uint16_t etat[67]={0,1,0,1,0,1,0,1,0,1,
                       0,1,0,1,0,1,0,1,0,1,
                       0,1,0,1,0,1,0,1,0,1,
                       0,1,0,1,0,1,0,1,0,1,
                       0,1,0,1,0,1,0,1,0,1,
                       0,1,0,1,0,1,0,1,0,1,
                       0,1,0,1,0,1,0};
    et au lieu d'obtenir cette trame là
    TEK00001.jpg


    j'obtient , quelque chose comme ça
    TEK00002.jpg

    ou ça, c'est changeant
    TEK00003.jpg

    Alors pour le moment, je n'ai pas optimisé mes temps, au niveau de la boucle, mais je devrais au moins avoir la même figure que ma trame, non ? bizarrement suivant le nombre de fois que appuis sur le même bouton qui simule ma télécommande j'ai une trame différente.

  26. #56
    biloux911

    Re : Interfacer une télécommande IR

    Ajoute autour de ta boucle "envoi de trame" les instructions qui vont bien pour désactiver/réactiver les interruptions.

  27. #57
    davidif

    Re : Interfacer une télécommande IR

    comment verrais tu l'intervention de l'interruption ? dans la boucle.

    En fait, j'ai essayé d'utilisé mon timer4 (le seul dispo) et son interruption, seulement l'utilisation de cette interruption rend ma pile tcp/ip inactif.

    Et pourtant, d'après le code correspondant, il me semble pas que ce timer soit utilisé par ma pile.
    Donc pour le moment affaissai de faire sans, en faisant quelque chose comme ça

    Code:
                            case 1 :
                                {
      
                          
                                        for(i=0;i<67;i++)
                                        {
                                
                                            
                                            duree=25;//trente_mn[i];
                                            IR=etat[i];  // d10 (RC3) 
                                                
                                            while(duree)
                                            {  
                                                
                                                  tempo_micro=24;//1us
                                                  while(tempo_micro)
                                                  {
                                                  tempo_micro--;    
                                                  }
                                            
                                            duree--;    
                                                
                                            }    
                                        }
                                
                                Diffuseur_val=0;
                                IR=1;  // d10 (RC3) 
                                break;
                                }
    J'imaginai, utiliser les temps d'instruction de 50ns pour faire mes tempo, seulement sa ne fonctionne pas comme prévu.
    au premier temps, je fait une première boucle de 1us, pour pouvoir incrémenter une sortie à 25us, mais j'ai bien des changements d'état de 25us mais d'autre son irrégulières, plus long.

    je vais devoir me creuser la tête un peu plus pour faire fonctionner mon interruption

  28. #58
    biloux911

    Re : Interfacer une télécommande IR

    Pardon mais ton code c'est du n'importe quoi là...
    la boucle dans la boucle n'apporte rien (du délai en plus mais il suffit de changer le seuil de la première pour obtenir pareil !).

    Tu vois qu'une interruption (d'une autre tâche) a eu lieu pendant l'envoi de trame, si des morceaux de trame sont plus longs que prévu.

    Tu sais comment fonctionne une interruption pas vrai ? Pendant que ton compteur décrémente entre deux changements d'état de IR, si le micro bascule sur une autre tâche, il ne décrémente plus ton compteur pendant ce temps là, quand il a finit, il reprend la boucle là où il s'était arrêté, mais au final le pulse est trop long.

    Pour vérifier cela il doit exister des instructions pour désactiver toutes les interruptions à placer avant la boucle. Ça risque de perturber d'autres fonctions mais tu traiteras ça plus tard !

    Après ça n'est qu'une hypothèse je ne suis pas programmeur

  29. #59
    davidif

    Re : Interfacer une télécommande IR

    Je ne suis pas un pro programmeur à l'origine, (:

    mon while dans un autre était un test, pour voir le résultat qui est a priori pas terrible.

    Je sais ce qu'est une interruption, mais effectivement je me demandai le pourquoi des changement d'état plus long, et tu me l'explique très bien.
    Il faudrait donc que je désactive les autres interruption le temps de l'envoi des trame alors, faut donc que je cherche comment faire ça , ce n'est pas non plus un réglage des priorités des interruption à voir ?

  30. #60
    davidif

    Re : Interfacer une télécommande IR

    Ce serait quoi la meilleur façon de faire, de désactiver les interruption le temps d'envoi des trames ou utiliser une interruption timer pour ce faire ?

Page 2 sur 3 PremièrePremière 2 DernièreDernière

Discussions similaires

  1. [RF/Radioelec] Interfacer télécommande
    Par pi1148 dans le forum Électronique
    Réponses: 7
    Dernier message: 09/03/2016, 14h53
  2. Interfacer un GPS!
    Par invite6ab74433 dans le forum Électronique
    Réponses: 2
    Dernier message: 04/07/2009, 13h09
  3. Interfacer une tension de sortie d'un automate
    Par lcoulon dans le forum Électronique
    Réponses: 3
    Dernier message: 30/09/2008, 11h40
  4. Interfacer un CNA avec un FPGA
    Par invite1237d672 dans le forum Électronique
    Réponses: 4
    Dernier message: 14/04/2008, 14h43
  5. Interfacer les microcontrôleurs
    Par invite84ceb4be dans le forum Électronique
    Réponses: 1
    Dernier message: 22/06/2007, 20h03
Découvrez nos comparatifs produits sur l'informatique et les technologies.