Il s'agit de savoir faire effectuer un trajet simple mais précis a votre robot , pour cela il faut l'avoir testé pour régler les distances parcourues pour un certain nombre d'impulsions, vérifié la progression bien en ligne droite et l'angle des virages.
Le parcours : il a la forme de la lettre 8 que montrent les afficheurs numériques , c'est a dire qu'il n'y a que des trajets en ligne droite et des virages a 90 degrés.
On peut tracer le parcours avec un paquet de dalles de gerflex blanches (vendues dans tous les magasins de bricolage pour faire des sols de salle de bain) posez les côte a côte sur une surface planne , en 2 lignes de 5 , vous obtenez un damier de 10 cases , facile a démonter. Les dalles font 30,5 centimétres de coté et le jeu est de revenir ,en fin de parcours, au milieu de la dalle de départ On aura donc a parcourir des segments de 30,5 ou de 61 centimétres en ligne droite et a faire des virages a 90 degrés à droite et à gauche.
Simple,mais pour bien s'en sortir il faut tester et retester le robot. A chaque test n'oubliez pas de bien noter dans un tableau le nombre et la durée des impulsions pour la roue droite et la roue gauche ainsi que les succés ou les erreurs. Cela pour les 4 déplacements de base nécessaires: avancer d'une case, avancer de deux cases , virer a 90 ° droite, virer a 90 ° gauche. (vous n'aurez jamais a reculer )
Le gagnant est celui qui revient le plus prés du centre de la dalle de départ.
Au début de votre nouveau programme <parcoursenhuit> vous écrivez
OBJ
motor:"moteur1" 'c'est pour donner un nom a l'objet <moteur1> a l'intérieur de votre programme
PUB parcours
motor.avancer(40)
motor.droite(20)
etc...
Et c'est tout ! votre programme <parcoursenhuit> est écrit, il faudra seulement voir de combien avancer, tourner a droite,... pour rester dans le tracé du parcours.
Comment ça marche ?
si vous écrivez : motor.avancer pour avancer etc.. (le point entre motor et avancer indique au programme labyrinthe : va chercher dans le programme <moteur1> , qui est stocké dans le même dossier que toi, la méthode <avancer> et utilise la.
Vous voyez qu'en mettant les méthodes que vous utilisez souvent dans des objets du genre : musique, moteurs, lumiéres,radio, infra-rouge , etc.. vous écrirez de nouveaux programmes sans vous fatiguer ! Il suffira d'appeler les méthodes d'objets que vous avez déja écrits (et aussi de ceux que vous trouverez dans la banque d'échange d'objets sur le site de Parallax).
Quelles précautions ?
Il faut que l'auteur se soit donné la peine de décrire en une dizaine de lignes claires ce que fait son objet . Et l 'auteur peut oublier de mentionner des détails qui sont moins évidents pour vous que pour lui !
Lisez toujours le programme des objets que vous utilisez et essayez de comprendre ce qu'il fait:
- ça vous permettera de mieux utiliser les méthodes qu'il contient
- vous comprendrez mieux ce qui se passe si une méthode d'un objet marche mal ou de façon bizarre
- vous apprendrez quelques trucs utilisés par l'auteur
- mais pour certains objets on est bien obligé de faire confiance a l'auteur : c'est le cas d'objets écrits dans le langage assembleur du Propeller. ils sont nécessaires pour des méthodes qui travaillent a trés grande vitesse (une méthode écrite sen assembleur va 30 a 50 fois plus vite que la même méthode écrite en Spin) . Mais comme écrire en assembleur est difficile , en général , on n'écrit en assembleur que quelques méthodes qui exigent une grande vitesse et on écrit toutes les autres méthodes du programme en SPIN (ce mélange ne géne pas du tout le Propeller qui de toutes façons traduit tout en langage machine!).