Variables avec virgules

Marmelade22

New Member
Bonjour,

Je viens de découvrir Picaxe et Logicator. A l 'époque ou j'étais au lycée le top du top pour créer ce genre d'automatismes c'était une grosse boite nommée PB15.

Pour débuter je prépare un petit chenillard à 8 voies avec différents programmes. J'utilise 4 entrées 2 pour sélectionner différents défilement des leds et 2 pour varier la vitesse.

J'ai un petit soucis avec la fonction ATTENTE*:


J'utilise une variable dont la valeur augmente ou diminue par deux boutons poussoirs.

Cette variable est utilisée dans une fonction «*ATTENTE*» placée entre chaque changement de sortie (Led).

Mon problème est que les variables ne peuvent pas êtres des nombres à 2 chiffres après la virgule. Il n'est donc pas possible d'avoir une attente de par exemple de 10 secondes ou 1 minute 30 secondes en utilisant les variables.

Il existe surement une solution logique mais que je n'ai pas trouvé. Merci d'avance pour votre aide
 

MGU

Senior Member
Bonjour,

Je viens de découvrir Picaxe et Logicator. A l 'époque ou j'étais au lycée le top du top pour créer ce genre d'automatismes c'était une grosse boite nommée PB15.

Pour débuter je prépare un petit chenillard à 8 voies avec différents programmes. J'utilise 4 entrées 2 pour sélectionner différents défilement des leds et 2 pour varier la vitesse.

J'ai un petit soucis avec la fonction ATTENTE*:


J'utilise une variable dont la valeur augmente ou diminue par deux boutons poussoirs.

Cette variable est utilisée dans une fonction «*ATTENTE*» placée entre chaque changement de sortie (Led).

Mon problème est que les variables ne peuvent pas êtres des nombres à 2 chiffres après la virgule. Il n'est donc pas possible d'avoir une attente de par exemple de 10 secondes ou 1 minute 30 secondes en utilisant les variables.

Il existe surement une solution logique mais que je n'ai pas trouvé. Merci d'avance pour votre aide
Bonjour,

De toute façon, le décompte se fait en secondes.

Le problème serait d'afficher ce temps sous la forme MM:ss

Pas sûr de répondre clairement à la question...

MM
 

Marmelade22

New Member
Merci MGU pour cette réponse. C'est sur que ta réponse n'est pas très claire. Mais ma question l'est surement encore moins !

J'ai trouvé une "solution" à mon problème. Dans la mesure ou dans la fonction "Attendre" il est possible d'entrer un temps d'attente de 0,001s à 65s et que si j'utilise une variable le minimum est 1 seconde j'ai fait une petite boucle avec une attente de 0,01 seconde qui se termine quand j'ai atteins la valeur de ma variable.

Merci encore MGU et si d'autres ont des idées pour faire autrement je suis preneur !
 

MGU

Senior Member
Merci MGU pour cette réponse. C'est sur que ta réponse n'est pas très claire. Mais ma question l'est surement encore moins !

J'ai trouvé une "solution" à mon problème. Dans la mesure ou dans la fonction "Attendre" il est possible d'entrer un temps d'attente de 0,001s à 65s et que si j'utilise une variable le minimum est 1 seconde j'ai fait une petite boucle avec une attente de 0,01 seconde qui se termine quand j'ai atteins la valeur de ma variable.

Merci encore MGU et si d'autres ont des idées pour faire autrement je suis preneur !
Bonjour,

En fait, je ne connais pas logicator, mais ce n'est qu'une présentation graphique d'un programme basic.
La traduction basic est une horreur, mais il serait intéressant de voir comment est traduite le commande "Attendre".
Il s'agit probablement de la commande "pause", qui prend des valeurs de 1 ms à 65535 ms (d'où 0,001 à 65 s).

La série M2 possède en basic une variable système "time" qui est un compteur de secondes. Elle doit avoir son équivalent en logicator. C'est cette variable qu'il faut utiliser dans une boucle pour compter le temps, de 1 s à 65535 s

A défaut du basic, toujours préférable, il y a maintenant "blockly", que je ne connais pas non plus, mais réputé plus performant.

En clair, il faut préférer le basic, c'est beaucoup mieux.

MM
 

PieM

Senior Member
Bonjour,

Il faut éviter de parler de Logicator, plus maintenu, mais de son remplaçant, le mode organigramme de PE6 qui offre plus d'intérêt.

Attendre (ou wait) est effectivement traduit par pause.
son argument peut toutefois être une variable, mais ce mode ne gère que des variables bytes; donc cette fonction ne peut contenir que des entiers entre 0 et 65.
Très sincèrement, passer du PB15 Merlin Gérin au basic ne devrait pas poser trop de problème et ouvre tout de même plus de possibilités que le mode organigramme.
 

Marmelade22

New Member
Merci beaucoup pour vos conseils ! C'est sur qu'il me reste quelques notions de Basic c'était sur ZX81. Mais ça me fera du bien de m'y replonger. Je vais télécharger PE6 et le regarder en détails.

Merci PieM et MGU
 
Top