​ ​ ​ ​ Barrière IR avec un seul 08M2 ?
Page 1 of 3 1 2 3 LastLast
Results 1 to 10 of 21

Thread: Barrière IR avec un seul 08M2 ?

  1. #1

    Default Barrière IR avec un seul 08M2 ?

    Bonjour,

    Je suis en train d'imaginer un module Barrière Infrarouge avec un SEUL 08M2.

    Imaginons la del IR sur la sortie C0.
    Et un récepteur infrarouge type TSOP38khz sur l'entrée C3.

    Voici ci-dessous le programme associé.
    N'ayant pas le matériel sous la main, je ne peux donc pas tester.
    Mais je suppose à 100% que cela ne fonctionne pas dû programme justement séquentiel !
    Un coup il envoi le code IR puis après il vérifie ... forcement le signal est terminé ... ;(

    Autre solution : utiliser le PWM en sortie C2.
    Mais j'ai peur que le TSOP sature a cause du signal PWM continu !

    Si quelqu'un a une idée ou des remarques, ...
    Merci d'avance,

    Code:
    symbol varA = w0
    
    main:
    	do
      	irout C.0, 1, 1
      	irin [500], C.3, varA
      	varA = varA and 127
      	if varA = 1 then
        	high C.2
        	high C.4
      	else
        	low C.2
        	low C.4
      	endif
    	loop
    	stop
    ___________________________________
    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

    Site académique de Toulouse : http://pedagogie.ac-toulouse.fr/technologie/
    Ancien, très ancien site perso : Technopujades.free.fr
    ___________________________________

  2. #2
    Senior Member
    Join Date
    Sep 2011
    Location
    Montpellier (FRANCE)
    Posts
    2,697

    Default

    Peut être en mode multitâche ?
    There are 10 types of people in the world: those who understand binary, and those who don't.

  3. #3

    Default

    Comment ça en multitache ?
    Avec les interruptions c'est ça ?
    ___________________________________
    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

    Site académique de Toulouse : http://pedagogie.ac-toulouse.fr/technologie/
    Ancien, très ancien site perso : Technopujades.free.fr
    ___________________________________

  4. #4
    Senior Member
    Join Date
    Sep 2011
    Location
    Montpellier (FRANCE)
    Posts
    2,697

    Default

    Quote Originally Posted by technopujades View Post
    Comment ça en multitache ?
    Avec les interruptions c'est ça ?
    Houla !...
    Si vous n'avez jamais fait de multitâche, on va commencer par quelques chose de simple :
    Code:
    #picaxe 08m2
    #simspeed 100
    #simtask all
    
    start0:
    do
          toggle c.0
          pause 1234
    loop
    
    
    
    start1:
    do
          toggle c.1
          pause 4321
    loop
    Il y a deux programmes (start0 et start1)
    qui vont démarrer en même temps.
    Vous pouvez observer ça sur un Picaxe Réel ou dans le simulateur.
    En simulation, on passe d'un programme à l'autre (bien obligé) mais considérez que les deux codes sont exécutes "en même temps".

    Si c'est OK pour vous, on peut revenir à nos moutons. Votre code pourrait s'écrire comme suit :
    Code:
    #picaxe 08m2
    #simspeed 100
    #simtask all
    
    symbol varA = w0
    
    start0:
    do
          irout C.0, 1, 1
    loop
    stop
    
    
    start1:
    do
          irin [500], C.3, varA
          varA = varA and 127
          if varA = 1 then
                high C.2
                high C.4
          else
                low C.2
                low C.4
          endif
    loop
    stop
    En théorie ça devrait marcher.
    En pratique, le Picaxe ne sait pas vraiment faire du multitâches et on ne sait pas vraiment ce qu'il fait. Il y a des "interférences" entre les deux tâches.
    Donc :
    - soit vous essayez et vous verrez bien...
    - soit quelqu'un qui a déjà essayé donne son avis...
    Bonne chance...
    Last edited by BESQUEUT; 03-02-2017 at 02:40.
    There are 10 types of people in the world: those who understand binary, and those who don't.

  5. #5
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,853

    Default

    A priori, la commande irin est incompatible avec le mutitâche, car utilise à plein temps le cœur du µC.

    Dans le cas présent le plus simple est d'utiliser non pas un TSOP, mais un simple phototransistor (ou diode) IR.

    alimenter la diode émettrice avec un pwm basse fréquence.
    coté récepteur, utiliser un pulsin. si le résultat est = créneau du pwm, alors pas d’interruption du faisceau.

    Pour réduire le temps de réaction (0.6s à 4 MHz) utiliser une fréquence de 16 MHz.

    Par ex:
    à 16 MHz
    pwmout pwmdiv64, B.1, 255, 511 donne 244 Hz soit des crénaux de 2.05 ms

    un pulsin < 2050/2.5 soit environ <900 indiquera une réception
    on peut par sécurité s'amuser à mettre une fourchette:
    si hors fourchette, parasite
    si 0 coupure faisceau

    Un TSOP coûte 1.5€
    un couple IRS5 + IRE5 coûte 0.70 €
    Last edited by PieM; 03-02-2017 at 10:29. Reason: complément
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

  6. #6
    Senior Member
    Join Date
    Sep 2011
    Location
    Montpellier (FRANCE)
    Posts
    2,697

    Default

    Quote Originally Posted by PieM View Post
    A priori, la commande irin est incompatible avec le mutitâche, car utilise à plein temps le cœur du µC.
    C'est bien ce que je craignais. Jusqu'à présent, je n'ai jamais pu utiliser le pseudo-multitâche du Picaxe (pas plus que le Background receive) pour autre chose qu'une démo de principe. A chaque fois, il y a une limitation ou un effet de bord qui rends le truc inutilisable.
    There are 10 types of people in the world: those who understand binary, and those who don't.

  7. #7
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,853

    Default

    Dès qu'on veut l'utiliser en dehors d'un champ d'applications ultrasimples, c'est la galère car effectivement on ne sait pas comment se réalise le partage d'instructions élémentaires.
    Toutes les fonctions avec timing sont perturbées.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

  8. #8
    Senior Member
    Join Date
    Sep 2011
    Location
    Montpellier (FRANCE)
    Posts
    2,697

    Default

    Quote Originally Posted by PieM View Post
    Dès qu'on veut l'utiliser en dehors d'un champ d'applications ultrasimples, c'est la galère car effectivement on ne sait pas comment se réalise le partage d'instructions élémentaires.
    Toutes les fonctions avec timing sont perturbées.
    Cela dit, je suis surpris que M. Pujades ne semble pas connaitre ce mode.
    Même si au final c'est peu utile sur un Picaxe, la possibilité de démontrer une autre façon d'écrire un programme peut avoir un intérêt pédagogique, potentiellement transposable dans un environnement plus adapté.
    There are 10 types of people in the world: those who understand binary, and those who don't.

  9. #9

    Default

    La remarque me fait rire
    Bon déjà M. Pujades c'est aussi Pascal tout simplement ...

    Effectivement si j'ai pu être au "taquet" sur le Picaxe, j'ai basculé depuis un petit moment déjà sur l'Arduino et le Rasberry toujours pour une utilisation péda avec les projets en classe.
    J'ai récupéré du matos, je fais mes petits tests avec l'aide de vos remarques et reviendrai vers vous pour forcement les nouvelles problématiques ou j'espère plutôt les nouvelles solutions.
    Merci en tout cas pour la réactivité et la qualité des réponses.

    Quelques ressources à découvrir si vous le souhaitez dans l'encadré "Programmation" : (d'ou ma justification d'absence sur le Picaxe depuis 1 ou 2 ans )
    http://pedagogie.ac-toulouse.fr/tech...?rub=tutoriaux
    ___________________________________
    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

    Site académique de Toulouse : http://pedagogie.ac-toulouse.fr/technologie/
    Ancien, très ancien site perso : Technopujades.free.fr
    ___________________________________

  10. #10
    Senior Member
    Join Date
    Oct 2011
    Location
    france
    Posts
    1,185

    Default

    Pourquoi le multi tâches ?

    Un rien de mémorisation analogique, et hop !

    Déjà publié ici, mais, sais plus où, donc :

    Sans titre 2.jpg

    C'est en vrac, schéma et code, mais, simplissime.
    Qui ne supporte la critique ne progressera point.

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
  •