instruction pendant une pause

electrique5

Senior Member
Bonjour,
je post encore un problème concernant un temps de pause sur la programmation
voila j'ai une télécommande piloté par picaxe cela fonctionne sur le schéma test c'est la pause 60 secondes qui me pause problème pendant cette pause qui m'est indispensable j'aimerai que pendant cette pause pouvoir décidé par moi même avec la télécommande si oui ou non si j'actionne une autre fonction

Sur l'image si dessous vous constaterez qu'au début j'actionne la fonction via la télécommande si non on tourne en boucle si oui on active la sortie 1 puis une pause de 60 sec pendant ce laps de temps si aucune action via la télécommande on éteint la sortie 1 puis on revient au début
si une action sur la télécommande pendant ce laps de temps j'aimerais désactiver la sortie N°1 puis activer la sortie N°2 a la place pandant 1 sec puis désactiver la sortie N° 2 puis on revient au début.

le problème c'est le temps de pause de 60 sec j'ai beau appuyer sur la télécommande le système étant sur pause la fonction infraIn n'est pas activé pendant ce laps de temps j'ai aussi essayer de mettre InfraIn avant le temps de pause cela ne fonctionne pas non plus.

J'aimerais savoir si vous aviez une solution pour ce problème ?
Merci

TEST.JPG
 

PieM

Senior Member
Bonjour,

Si vous avez un 20X2 ou supérieur, n'utilisez pas pause mais la fonction TIMER.
Si vous avez un M2 utilisez la variable TIME, ou bien contrôlez votre tempo en parallèle, en utilisant la possibilité "multitâche " des M2.
Autre solution moins élégante, faites une boucle de 120 pauses de 500ms dans laquelle vous testez votre INFRAIN.
 

electrique5

Senior Member
j'utilise un picaxe 20M2 par contre dans le logicator j'ai que la fonction TIME ON mais ca me permet pas de définir la durée
TEST02.JPG
 

PieM

Senior Member
j'utilise un picaxe 20M2 par contre dans le logicator j'ai que la fonction TIME ON mais ca me permet pas de définir la durée
ça fait partie des limites de Logicator ! TIME ON semble réservé au 28X1 et initialise a variable TIME. Je ne sais si ça marche aussi avec un 20M2.

Utilisez une cellule Basic dans laquelle vous initialisez la variable TIME = 0 après votre premier test (A=1) , et ensuite faite une boucle d'attente de votre second INFRAIN en testant si TIME > 59

Vous devriez utiliser directement la programmation Basic qui est tout de même moins limitée.
 

electrique5

Senior Member
désolé du retard j'ai pas bien compris votre astuce je suis débutant dans les picaxe pouvez vous me faire un code basic de test ?
je vous remercie par avance
 

PieM

Senior Member
désolé du retard j'ai pas bien compris votre astuce je suis débutant dans les picaxe pouvez vous me faire un code basic de test ?
je vous remercie par avance


Code:
#picaxe 20M2
'=============================
main:
do 
	irin [200],C.0, b0  ' (si entrée infra sur C.0)
	If b0=1 then Boucle
loop
'=============================
Boucle:
	Time =0           'mise à 0 de la variable time
	high C.1		'(si sortie 1 = C.1)
do while Time < 60  ' s'éxécute tout pendant que les 60 secondes ne sont pas écoulées
	irin [200],C.0, b0
	If b0 = 5 then 
		low C.1
		high C.2  	'(si sortie 2 = C.2)
		pause 1000	'= wait 1
		low C.2
		goto main
	endif
loop 
low C.1       'si fin des 60s
goto main
'=============================
 
Top