Results 1 to 10 of 10

Thread: Infrain ou Pulse

  1. #1

    Default Infrain ou Pulse

    Bonjour a tous,

    Je cherche a connaitre le fonctionnement exact de Infrain et Pulse ou plutôt avoir une solution ...
    J'explique, l'idée serait d'envoyer une fréquence de 38kHz sur une sortie relié à une Del IR en continu.
    Le tout sans bloquer mon programme !
    En gros je lance mon Infrain ou mon Pulse (en ns) puis je continu mon programme.
    En gros, je veux que le pulse ou infrain dure plus longtemps que le temps de l'action ainsi je peux continuer mon programme ...
    Petit schéma :

    Sortie Del IR : --------------------------- ---------------------------
    Programme : --------------------------------

    Je ne sais pas si je suis clair ?

    Merci de m'éclaircir ...
    ___________________________________
    Ce n'est pas parce que les choses sont difficiles que nous n'osons pas, c'est parce que nous n'osons pas qu'elles sont difficiles

    Technopujades.free.fr
    Southrider.com
    ___________________________________

  2. #2
    Moderator
    Join Date
    Mar 2008
    Location
    Western Australia
    Posts
    11,248

    Default

    La commande de INFRAIN détecte des communications utilisant le protocole de Sony SIRC.
    La commande de PULSIN mesure la durée d'une impulsion simple d'un signal entrant.

    Si vous souhaitez créer un signal de 38 kHz pour conduire un IR LED une solution est d'employer la commande de PWMOUT.

    Bien qu'en anglais vous puissiez souhaiter aller voir l'information que j'ai précédemment signalée ici :
    http://www.picaxeforum.co.uk/showthr...Basic-Tutorial
    westaust55

    Hey Hamlet, 2B OR NOT 2B = $FF

  3. #3
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    2,712

    Default

    Quote Originally Posted by technopujades View Post

    J'explique, l'idée serait d'envoyer une fréquence de 38kHz sur une sortie relié à une Del IR en continu.
    Le tout sans bloquer mon programme !
    Bonjour,

    Effectivement il faut utiliser la commande PWMOUT car elle est hardware, donc n'interfère pas avec un programme (enfin, pas pour tout!).
    Dans le cas d'un Picaxe à 4MHz, il faut utiliser par exemple la commande pwmout B.2, 25, 53 en supposant que la sortie soit sur B.2. Un signal à 38 kHz est généré avec un cycle de 50%.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

  4. #4

    Default

    Impec ! C'est exactement les réponses que je voulais avoir.
    Un gros merci à vous 2 !
    Je teste dès la rentrée sur un petit 08M ... (avec le PWM sur la sortie 2 comme indiqué sur la doc).

    Question supplémentaire juste pour information personnelle ...
    Pour couper mon PWMOUT, en lisant la doc c'est PWMOUT 2, OFF pourquoi un simple LOW 2 (si sortie 2) ne suffit pas ... ?
    ___________________________________
    Ce n'est pas parce que les choses sont difficiles que nous n'osons pas, c'est parce que nous n'osons pas qu'elles sont difficiles

    Technopujades.free.fr
    Southrider.com
    ___________________________________

  5. #5
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    2,712

    Default

    Quote Originally Posted by technopujades View Post
    Question supplémentaire juste pour information personnelle ...
    Pour couper mon PWMOUT, en lisant la doc c'est PWMOUT 2, OFF pourquoi un simple LOW 2 (si sortie 2) ne suffit pas ... ?
    A priori, ça doit marcher mais ce n'est pas logique ! la commande PWM se fait en arrière tâche, sous le contrôle d'un circuit interne spécifique contrôlé par un timer. Seule la commande PWMOUT ,.., OFF va désactiver ce timer.
    Par exemple la commande SERVO est incompatible avec PWM (sauf dans certaines conditions sur certains M2 et 28X2), car utilisant toutes deux ce timer. Donc il est nécessaire dans ce cas par exemple de désactiver le PWM.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

  6. #6

    Default

    Merci pour tes explications toujours aussi claire !
    Du coup tu me fais souler une autre question ...
    En utilisant le PWM, j'utilise un timer dédié à cela ou c'est le même qui est utilisé dans la fonction TIMER ?
    En gros, sur un 08M puis-je utiliser le PWM et le TIMER en même temps ?
    ___________________________________
    Ce n'est pas parce que les choses sont difficiles que nous n'osons pas, c'est parce que nous n'osons pas qu'elles sont difficiles

    Technopujades.free.fr
    Southrider.com
    ___________________________________

  7. #7
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    2,712

    Default

    Quote Originally Posted by technopujades View Post
    Merci pour tes explications toujours aussi claire !
    Du coup tu me fais souler une autre question ...
    En utilisant le PWM, j'utilise un timer dédié à cela ou c'est le même qui est utilisé dans la fonction TIMER ?
    En gros, sur un 08M puis-je utiliser le PWM et le TIMER en même temps ?
    En fait sur un 08M2, tu vas utiliser la variable TIME (type word) qui est seule disponible sur les M2.
    La fonction TIMER (SETTIMER en fait) n'existe que pour les Picaxes supérieurs au 20X2.

    TIME est incrémentée toutes les secondes , boucle après 65535 secondes, et peut être initialisée par une valeur quelconque au sein du programme (Time = w10 par ex.) .
    C'est indépendant du PWM.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

  8. #8

    Default

    OK, ça ne fait pas mes affaires tout ça !
    Je voulais envoyer sur la sortie 2 du 08M le PWM calé sur 38kHz (pour un piloter une del IR).
    Et sur une entrée mettre le récepteur IR.
    Les mettre côte à côte : Del IR et récepteur IR afin d'envoyer le signal IR directement au plafond, jusqu'à qu'une main humaine soit mise devant à environ 10 cm, le signal IR aurait alors réfléchie sur la main et aurait atteint le récepteur.

    L'idée était de programmer un truc du style :
    Envoyer PWM sur la del IR, puis avec l'aide d'un timer se poser la question si ça fait plus de 1 seconde que le récepteur reçoit (ce qui indique que la main est bien présente depuis plus de 1s).
    ___________________________________
    Ce n'est pas parce que les choses sont difficiles que nous n'osons pas, c'est parce que nous n'osons pas qu'elles sont difficiles

    Technopujades.free.fr
    Southrider.com
    ___________________________________

  9. #9
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    2,712

    Default

    Quote Originally Posted by technopujades View Post
    OK, ça ne fait pas mes affaires tout ça !
    Je voulais envoyer sur la sortie 2 du 08M le PWM calé sur 38kHz (pour un piloter une del IR).
    Et sur une entrée mettre le récepteur IR.
    Les mettre côte à côte : Del IR et récepteur IR afin d'envoyer le signal IR directement au plafond, jusqu'à qu'une main humaine soit mise devant à environ 10 cm, le signal IR aurait alors réfléchie sur la main et aurait atteint le récepteur.

    L'idée était de programmer un truc du style :
    Envoyer PWM sur la del IR, puis avec l'aide d'un timer se poser la question si ça fait plus de 1 seconde que le récepteur reçoit (ce qui indique que la main est bien présente depuis plus de 1s).
    Et bien, tu peux !
    dès que tu détectes une réception, tu utilise une pause de 1 seconde et tu regardes si tu as encore la réception au bout de la seconde.

    Sinon, plus rigoureux, dès une détection, tu mets la variable TIME à 0 et tu fais un
    do while TIME <1
    (test reception)
    si pas de réception > sous programme détection pas OK
    loop
    sous programme détection OK
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

  10. #10

    Default

    Quote Originally Posted by PieM View Post
    Et bien, tu peux !
    dès que tu détectes une réception, tu utilise une pause de 1 seconde et tu regardes si tu as encore la réception au bout de la seconde.

    Sinon, plus rigoureux, dès une détection, tu mets la variable TIME à 0 et tu fais un
    do while TIME <1
    (test reception)
    si pas de réception > sous programme détection pas OK
    loop
    sous programme détection OK
    Voila, c'est exactement ce que je voulais faire mais comme tu me l'indique le SETTIMER n'existe pas sur le 08M ...
    ___________________________________
    Ce n'est pas parce que les choses sont difficiles que nous n'osons pas, c'est parce que nous n'osons pas qu'elles sont difficiles

    Technopujades.free.fr
    Southrider.com
    ___________________________________

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •