Supprimer " l'attente d'instructions" avec les cde irin ou serin ?

marc59

New Member
Bonjour

Quand on utilise une télécommande avec la commande irin ou du bluetooth avec commande serin le programme est bloqué en attente d'une valeur. Est ce possible de contourner cette attente ?

Exemple 1 : Arrêter un robot qui exécute un programme suiveur de ligne avec une télécommande infrarouge ou une tablette.

Exemple 2 : arrêter le clignotement d'une del avec une télécommande infrarouge ou une tablette

J'utilise essentiellement des organigramme (pe6).

merci
 

marc59

New Member
J'ai trouvé une réponse pour l'infrarouge sur le forum :) Il suffit d'utiliser temps écoulé (timeout) de la commande Entrée infrarouge (infrain). Merci PIEM

Est ce que quelqu'un aurait une astuce pour faire la même chose avec le bluetooth et la commande serin ?
 

PieM

Senior Member
il y a une autre astuce, qui consiste à lire l'état de la broche liée au capteur
si à l'état haut, c'est qu'on ne reçoit rien, sinon on va vers l'instruction infrain.
les infrarouges sont envoyées par trames successives, donc on lit la seconde.

Pour le bluetooth, il faut utiliser hserin ou bien serin avec son timeout
 

marc59

New Member
Avec picaxe, on avance de 2 pas et aussitôt on recule .....

J'ai fais 2 petits programmes pour tester la réactivité des 2 solutions. En utilisant Timeout ou en testant l'état de la boche lié au capteur. Il semble que la solution avec timeout (0.4) soit plus réactif que le test.

Mais pour une raison inconnue, la variable liée a infrain s'incrémente à chaque boucle sans raison.

voir pg

View attachment test tele3.plf

Je viens juste de trouver le bug : Dans infrain si on coche activer la compatibilité entre le N° de la touche et la donnée recue, et bien a chaque boucle la variable s'incrémente. Allez savoir pourquoi !!!
 
Last edited:

PieM

Senior Member
Si il y a une raison, c'est le piège!
dans votre config de irin, vous avez Match TVR010remote : Yes (add 1)
pour correspondre au numéro de touche, on ajoute 1 au numéro renvoyé par la télécommande.
Mais dans votre programme vous ne remettez jamais à 0 varB. donc à chaque boucle elle s'incrémente !
C'est vicieux je le reconnais.

Sinon pour le test de la broche Irin, tout dépend de la grandeur du programme.
Si vous avez besoin de lire très souvent la télécommande, les suites de timeout peuvent être une gêne. Par contre cette entrée peut être prise sur une entrée avec interruption ce qui permet de réagir très vite à tout moment, le temps de réponse étant lié au temps entre deux salves (45ms)

En simulation, il y a un bouton sur la télécommande (horloge) qui permet de simuler le timeout écoulé .
 
Last edited:

marc59

New Member
Avec ce petit programme ça devrait être instantané pourtant en pratique c'est un peu aléatoire, parfois jusqu’à 1s. En appuyant en continue sur la télécommande les dels devraient clignoter toutes les secondes et ne devraient pas emprunter l'autre boucle.

View attachment test tele.plf

"entrée avec interruption", c'est une entrée ?
 

PieM

Senior Member
Je ne comprends pas trop à quoi sert votre programme !
A partir où vous appuyez en permanence (!?), l'entrée voit soit un niveau haut soit un niveau bas.
Utilisez le timeout ça sera plus simple pour vous.
 
Top