Rss Les blocs Attendre et Boucle

Sommaire:

 

Le bloc Boucle



Maintenant, intéressons-nous au bloc "Boucle".

Plaçons donc un bloc "Boucle" sur la zone de travail.



Là aussi, ce bloc peut travailler dans plusieurs modes différents, les modes Pour toujours, Compteur, Temps, Logique et enfin Capteur. Ici également, seul les modes Pour toujours, Compteur et Temps seront abordés dans cette partie du tutoriel. Les modes Logique et Capteur seront introduit dans une autre partie abordant les capteurs.

Vous pouvez configurer le mode de fonctionnement du bloc "Boucle" dans le paramètre Contrôle de son panneau de configuration, comme montré sur l'image ci-dessous. Et, si ce n'est déjà fait, configurer le paramètre Contrôle dans le mode Pour toujours.



Dans le mode Pour toujours, le bloc "Boucle" effectuera cette boucle à l'infini. C'est à dire que les blocs se trouvant à l'intérieure de la boucle seront exécuté en permanence jusqu'à ce que vous mettez fin vous même au programme en appuyant sur le bouton gris foncé, en dessous du bouton orange, sur le NXT. Ce mode vous permet donc de ne jamais mettre fin à votre programme.

Essayer donc le programme suivant en rajoutant un bloc à l'intérieur de la boucle :





Comme vous le voyez, le programme ne s'arrêtera jamais tant que vous n'y mettrez pas fin vous même !

Voyons maintenant le mode Compteur.

Imaginer tout d'abord que vous vouliez faire effectuer à votre robot un déplacement en forme de carré. Vous utiliserez pour ce faire des blocs "Déplacer" pour commander vos deux moteurs de propulsions.

Vous placerez un premier bloc "Déplacer" pour effectuer une translation en marche avant de la distance voulu puis, à la suite de ce bloc, vous placerez un second bloc "Déplacer" qui, cette fois, sera configuré pour effectuer une rotation de 90° du robot sur lui même vers la droite. De cette manière vous auriez programmer votre robot pour qu'il parcours un côté du carré et fasse une rotation pour se positionner en vue de parcourir un autre côté du carré. L'image ci-dessous vous montre ses deux blocs :





Ainsi, pour faire parcourir à votre robot les quatre côté du carré, vous aurait l'idée de placer à la suite les uns des autres quatre fois ce couple de blocs, soit huit blocs au total, tels que le montre l'image suivante :



Votre programme fonctionnera bien, mais il est peu élégant et multiplie des blocs faisant exactement la même chose plusieurs fois de suite. Ce qui consomme de l'espace dans la mémoire du NXT de manière inutile !
C'est là que notre bloc "Boucle" configurer en mode Compteur intervient, car celui-ci exécute les blocs se trouvant dans la boucle autant de fois qu'indiqué par le paramètre Jusque dans le panneau de configuration.

En effet, pour faire notre déplacement en forme de carré, il nous suffit de répéter le couple de blocs "Déplacer" un certain nombre de fois. En l'occurrence ici ce sera quatre fois !

Nous placerons donc les deux blocs "Déplacer" dans une boucle que nous configurerons pour ne s'exécuter que quatre fois.

Faite donc le programme suivant en plaçant les blocs "Déplacer" à l'intérieur du bloc "Boucle" :






Comme vous le remarquez, le bloc "Boucle" est configurer en mode Compteur et ce Jusque 4. Autrement dit, la boucle va compter le nombre de fois qu'elle s'exécute et le programme ne sortira du bloc "Boucle" que lorsque celle-ci se sera exécutée 4 fois.

Avouer que c'est tout de même plus efficace. :p


L'utilisation de boucles imbriquées




Le programme précédent fait en sorte que votre robot se déplacer en forme de carré. Mais il ne le fait qu'une seule fois.

Là encore, imaginez que vous voulez que votre robot effectue plusieurs déplacements en forme de carré. Disons que vous voudriez qu'il en effectue deux à la suite.

Trois solutions s'offre à vous. La première consiste à "gonfler" le compteur de la boucle en remplaçant le chiffre 4 par un 8, ce qui lui fera faire 8 côtés au lieu de 4 soit deux carrés complet. C'est faisable, mais cela ne permet pas de faire une autre action entre les deux carrés !

La deuxième consiste à placer deux boucles identique, l'une à la suite de l'autre, un peu comme pour les huit blocs "Déplacer" de tout à l'heure. Ce qui prend de la place en mémoire.

La troisième, et meilleur solution, consiste à imbriquer votre première boucle dans une deuxième boucle qui exécutera la première deux fois. C'est ce que l'image suivante vous montre :








Ce programme va donc faire effectuer deux déplacements carré au robot, à la suite l'un de l'autre, en jouant un son après chaque carré.

Dans les faits, la boucle permettant le déplacement carré sera exécutée une première fois. Puis une fois que son compteur a atteint la valeur 4, le programme sortira de cette boucle pour jouer un son. Le tout sera à nouveau exécuté, car se trouvant dans la seconde boucle dont le compteur doit atteindre la valeur 2.

Voila ce qui termine ce tutoriel sur les boucles, sachant que le même principe s'applique dans le mode Temps mais ce coup-ci avec un paramètre Jusque indiquant pendant combien de secondes les blocs à l'intérieur de la boucle doivent être exécutés.

 
 « Page précédente
Le bloc Attendre
 1  2  3  4 
Page suivante »
Conclusion 
 
 
Aucune note
Ecrit par: FRED_80 Le: 14/10/10