Ligne 98 : |
Ligne 98 : |
| </syntaxhighlight> | | </syntaxhighlight> |
| | | |
− | === Avancer (version prédictive) === | + | === Avancer / Reculer (version prédictive) === |
| Vous disposez de plusieurs approches pour faire avancer Doggy. | | Vous disposez de plusieurs approches pour faire avancer Doggy. |
| | | |
Ligne 122 : |
Ligne 122 : |
| delay( 2000 ) | | delay( 2000 ) |
| | | |
− | # Une autre façon de faire: appelle prepare avant d'executer 40 fois l'étape de mouvement | + | # Une autre façon de faire: appelle prepare() avant d'exécuter 40 fois l'étape de mouvement |
| d.reset() | | d.reset() |
| d.move( 'FORWARD', repeat=40, prepare=True) | | d.move( 'FORWARD', repeat=40, prepare=True) |
Ligne 151 : |
Ligne 151 : |
| mov_obj.do( wdegree=65, step_angle=10 ) | | mov_obj.do( wdegree=65, step_angle=10 ) |
| </syntaxhighlight> | | </syntaxhighlight> |
| + | |
| + | Vous noterez l'utilisation du mot 'FORWARD' pour avancer. Vous pouvez le remplacer par 'F'. |
| + | |
| + | Pour reculer, vous pouvez utiliser les mots clés 'BACKWARD', 'BACK', 'B'. |
| + | |
| + | === Tourner === |
| + | Il est possible de faire tourner le robot Doggy à droite (RIGHT) ou à gauche (LEFT) |
| + | Nous présentons ici les approches les plus simples jusqu'au plus avancées. |
| + | |
| + | <syntaxhighlight lang="python"> |
| + | from doggy import * |
| + | from pyb import delay |
| + | d = Doggy() |
| + | |
| + | # Place le robot en positions de marche (debout). |
| + | # Les épaules sont placés a angles adéquat pour commencer à tourner à gauche |
| + | # prepare() EST IMPORTANT AVANT DE COMMENCER UN MOUVEMENT |
| + | d.prepare('LEFT') |
| + | |
| + | delay( 2000 ) |
| + | |
| + | # Tourne à gauche (angle poignet=90) en 1 étapes de 90° (valeur par défaut) |
| + | d.move( 'LEFT' ) |
| + | |
| + | delay( 2000 ) |
| + | |
| + | # Une autre façon de faire: appeler prepare() avant d'exécuter 2fois l'étape |
| + | # de mouvement (de 90 degrees) |
| + | d.reset() |
| + | d.move( 'LEFT', repeat=2, prepare=True) |
| + | |
| + | delay( 2000 ) |
| + | |
| + | # Changer les angles des mouvements des épaules pour tourner à gauche de |
| + | # 160 degree (en total) et l'angle des poignet fixé à 5 degrees. |
| + | # Tous les paramètres correspondent a Left.do() |
| + | d.reset() |
| + | d.prepare('LEFT', wdegree=75 ) |
| + | d.move( 'LEFT', sdegree=160, wdegree=75 ) |
| + | |
| + | # Tout en un |
| + | d.move( 'LEFT', sdegree=160, wdegree=75, prepare=True ) |
| + | |
| + | delay( 2000 ) |
| + | |
| + | # Faisons le vraiment a la dure (obtenir l'objet Movement). Voyez comment est implémenté Doggy.move() |
| + | d.reset() |
| + | mov_obj = d.movement('LEFT') |
| + | mov_obj.prepare( wdegree=65 ) |
| + | mov_obj.do( sdegree=60, wdegree=65, prepare=True, repeat=3 ) # repeat 3 times the turn left |
| + | |
| + | # Réduire l'amplitude du mouvement de 60 degrés (valeur par défaut) |
| + | # à 30 degrées & faire une rotation à gauche de 75 degrée |
| + | d.move( 'L', sdegree=75, sdegree_max=30, prepare=True ) |
| + | </syntaxhighlight> |
| + | |
| + | Vous noterez l'utilisation du mot 'LEFT' pour tourner à gauche. Vous pouvez le remplacer par 'L'. |
| + | |
| + | Pour tourner à droite, vous pouvez utiliser les mots clés 'RIGHT', 'R'. |
| | | |
| | | |
| {{Hack-micropython-ServoRobot-TRAILER}} | | {{Hack-micropython-ServoRobot-TRAILER}} |