Se parquer
L 'algorithme
Il s'agit ici,de faire rentrer le Thymio, dans son parking... Pour cela j'utilise le script " suivre une ligne "que je modifie.
Lorsque Thymio détecte une ligne d'une autre couleur alors je le décale. Il peut faire un ou plusieurs tours avant de se garer. (utilisation d'une variable incrémentée)
La ligne noire côté capteur droit et la ligne côté capteur gauche permet de suivre le trajet, pour se garer.
Lorsque les deux capteurs détectent du blanc alors il fait un demi-tour.
Son demi-tour s'arrête lorsque les deux capteurs captent la ligne noire.
En simulation
En pilotage
Dans cet exemple, Thymio exécute "n" tours, puis se parque. Il suffit pour cela d'ajouter un compteur.
La structure de ce programme utilise un bloc principal qui fait appel à des sous blocs appelés sous-routine.
Le programme principal:
Lorsque le bouton central est activé, le script suivant se déroule : |
|
Jusqu'à ce que la variable compteur n'est pas égale à la variable nombre de tours le script ci-après se déroule sinon arrêt bref des moteurs et appel à la sous-routine "parking". Quand* les détecteurs de sol gauche et droite détectent du blanc "plus blanc que blanc": Sinon la sous-routine "deplacements" est appelée. *Dans ce code, La structure est basée sur l'utilisation de Quand...faire. |
La sous-routine "déplacements":
La sous-routine "deplacements" utilise le programme décrit dans "suivre une ligne". |
La sous-routine "Parking":
La sous -routine appelée, effectue le script suivant: |
|
- la seconde boucle répète le script suivant jusqu'à ce que les deux capteurs droite et gauche au sol détectent du blanc : Les deux capteurs droite et gauche au sol captent du blanc, alors on arrête brièvement les moteurs et la troisième boucle se lance. Thymio tourne rapidement à gauche, puis en en arrière droite. Ce qui permet à Thymio d'effectuer un demi tour. Lorsque les deux capteurs droite et gauche au sol détectent du noir, alors les moteurs s'arrêtent. |