InfraIn et la télécommande......

Francis52

Member
Bonjour à tous les Picaxistes !!!!

Une petite question à 6 sous, la commande Infrain attend l'appui d'une touche de la télécommande, puis l'organigramme continue. Je voulais savoir s'il était possible d'insérer cette commande ou une autre, dans une boucle, et ...."si j'appuie sur la touche 1, (par exemple)", je sors de la boucle. Donc si j'appuie sur aucune touche le diagramme continue sa boucle.
Un peu comme une "Décision" dans une boucle.
Merci de vos lumières......
Francis
 

fuse

Senior Member
Bonjour Francis52,

La commande irin permet de débloquer le programme en fonction d'un temps d'attente. Attention cette commande n'est pas possible sur tous les picaxes....
Je l'utilise avec un 28X1 et beaucoup d'autres Picaxes sont possibles : voir Picaxe_manual2.pdf et rechercher la commande irin pour la compatibilité...
L'utilisation de irin est indiqué dans le document suivant. View attachment irin.pdf

Cordialement
 

PieM

Senior Member
Bonjour,

Si le Picaxe n'accepte pas l'instruction IRIN et son timeout, la solution avec IFRAIN et INFRAIN2 (ou même IRIN) est de considérer l'entrée liée au démodulateur comme une entrée ordinaire jusqu'au moment ou une émission infrarouge est reçue. Généralement les télécommandes émettent plusieurs salves de codes. (c'est même conseillé si on fait son émetteur soi même.)
Tout pendant qu'il n'y a pas de réception, cette entrée est à 1.
Dès qu'elle passe à 0, il suffit de se brancher sur l'instruction INFRAIN ou INFRAIN2 .

en résumé:
en supposant un 08M

Code:
Boucle:

Do while pin3 =[COLOR="#FF0000"] 1[/COLOR] (pin3 correspondant à l'entrée infra du picaxe)
[INDENT]....
....
....[/INDENT]
loop  
gosub reception (si pin3 passe à[COLOR="#FF0000"] 0[/COLOR])
goto Boucle

reception:

[INDENT]infrain2

if infra = ....
.......
.......[/INDENT]
return
 
Last edited:

Francis52

Member
Merci à tous, je vais essayer Irin. J'ai oublié de dire que j'ai un 28x1 comme Fuse, donc théoriquement ça devrait fonctionner. Par contre dans Logicator, je suis obligé de passer par la commande "Basic", et je ne peux pas simuler. Mais c'est pas grave, je vais faire des essais.
Merci à vous pour ces réponses rapides.
 

fuse

Senior Member
Bonjour Francis52,

En effet avec Logicator la commande irin n'est disponible qu'avec l'écriture en mode BASIC.
La commande Infrain qui existe dans Logicator ne permet pas de positionner une temps d'attente... et pourtant si vous essayer la commande de Logicator, elle dispose d'une option "temps écoulé", malheureusement cela ne fonctionne pas à la compilation (au moment du transfert vers le Picaxe). Je fais peut-être une mauvaise manip mais je suppose plutôt un petit bug de programmation ????
Si vous avez plus d'infos merci de faire profiter la communauté...
Cordialement
 

Francis52

Member
Bonjour Fuse...et les autres...

Pas eu le temps d'essayer Irin, mais je viens de faire l'essai de Infrain dans Logicator. Alors, le "Temps écoulé" ne permet pas la saisie manuelle de chiffres (sinon la valeur revient sur No) et tout comme la commande Wait, Logicator n'aime pas les valeurs X.Y, mais X,Y donc le champ "Temps écoulé" n'est pas utilisable.
D'autres parts, lors de la conversion du diagramme en Basic, la commande Infrain est convertie en .....irin 0, varA !!!
Donc autant programmer Irin directement dans une fonction "Basic". ou attendre la prochaine version de Logicator.

On va y arriver, merci à tous ! (et peut-être toutes.....)
 
Top