Leçon 2 : Conduisez au nombre « 5 »
Dans cette leçon, le robot VR conduira au nombre « 5 » et reviendra au nombre « 1 » sur le terrain de jeu de la carte de la grille numérique!

Notez que le robot VR se déplacera le long de l'axe X avec des valeurs X augmentant pour passer au nombre « 5 » sur le terrain de jeu de la carte de la grille numérique.

Le robot VR se rendra à l'emplacement du nombre « 5 » sur le terrain de jeu de la carte de la grille numérique. Cependant, avant que le robot VR puisse naviguer jusqu'à ce numéro, il faut lui dire où se trouve ce numéro. Commençant au centre de l'aire de jeux, les coordonnées du nombre « 5 » sont (-100, -900).

- Pour commencer, le robot VR doit faire face au nombre « 5 ». Faites glisser ou tapez une commande turn_for.
# Add project code in "main"
def main() :
drivetrain.turn_for(RIGHT, 90, DEGREES)- Faites glisser une boucle while sous la commande turn_for . Votre projet doit ressembler à ceci :
# Add project code in "main"
def main() :
drivetrain.turn_for(RIGHT, 90, DEGREES)
while condition :
wait(5, MSEC)- Tout comme l'unité de capteur de distance, ce projet utilisera l'état de la position du capteur de localisation avec un opérateur de comparaison pour naviguer sur le terrain de jeu de la carte de la grille numérique. Définissez la condition de la boucle while sur la position de la commande sur l'axe X à moins de -100 en millimètres (mm). Votre projet doit ressembler à ceci :
# Add project code in "main"
def main() :
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < -100 :
wait(5, MSEC)- Faites glisser ou tapez la commande sans attente drive à l'intérieur de la boucle while. Votre projet doit ressembler à ceci :
# Add project code in "main"
def main() :
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < -100 :
drivetrain.drive(FORWARD)
wait(5, MSEC)- Notez que l'opérateur less than est utilisé à la place de l'opérateur greater than parce que le robot VR conduit vers la droite à partir du côté gauche de l'aire de jeux. Le robot VR démarre à une valeur X de -900 millimètres (mm). Au fur et à mesure que le robot VR avance, les valeurs X augmentent, et donc le robot continuera à avancer alors que la valeur X est inférieure à -100.

Pour votre information
Vous devrez choisir l'opérateur de comparaison à utiliser dans votre projet, en fonction de la direction dans laquelle vous souhaitez que le robot VR se déplace le long de l'axe X ou Y. Lorsque le robot VR se déplace vers une valeur plus grande, l'opérateur inférieur à (<) sera utilisé avec une boucle while ; et lorsque le robot VR se déplace vers une valeur plus petite, l'opérateur supérieur à (>) sera utilisé avec une boucle while .
Cela s'aligne avec les mouvements à gauche et à droite lorsque vous regardez le terrain de jeu. Si le robot VR se déplace de gauche à droite ou de bas en haut (valeurs plus grandes), l'opérateur less than est utilisé pour conduire lorsque la position est inférieure à la valeur cible.
Si le robot VR se déplace de droite à gauche ou de haut en bas (valeurs plus petites), l'opérateur supérieur à est utilisé pour conduire lorsque la position est supérieure à la valeur cible.
En utilisant les opérateurs de comparaison, le robot VR se déplacera lorsque la valeur signalée par le capteur de localisation est supérieure à (>) ou inférieure à (<) la valeur seuil. Dans cet exemple, le robot VR naviguera jusqu'à 500 millimètres (mm) positifs sur l'axe X. Le robot VR conduira lorsque la position sur l'axe X est comprise entre 0 et 499 positifs. Lorsque le capteur de localisation signale que la position est 501 ou plus, le robot VR arrête de conduire.
# Add project code in "main"
def main() :
monitor_sensor(location.position)
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < 500 :
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()Notez que la valeur indiquée par le capteur de localisation n'est pas exactement de 500 millimètres (mm). Comme le capteur de distance, les opérateurs de comparaison sont utilisés en raison du temps nécessaire au robot VR pour parcourir le projet et rapporter les valeurs.
- Faites glisser ou tapez une commande stop en dehors de la boucle while. Votre projet doit ressembler à ceci :
# Add project code in "main"
def main() :
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < -100 :
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()- Ouvrez la fenêtre Playground si elle n'est pas déjà ouverte. Assurez-vous que le terrain de jeu Number Grid Map s'ouvre et exécutez le projet.
- Regardez le lecteur VR Robot jusqu'au numéro « 5 » sur le terrain de jeu Number Grid Map.

- Dans ce projet, le robot VR se dirige vers le nombre « 5 » sur le terrain de jeu de la carte de la grille numérique. La boucle while est utilisée pour que le robot VR continue d'avancer tant que la valeur X est moins que la valeur X de la coordonnée sur laquelle se trouve le numéro indiqué.
- Une fois que la valeur X est supérieure à -100, le projet passe à la commande suivante en dehors de la boucle, qui est une commande stop. Étant donné que la valeur X du nombre « 5 » est -100, le robot VR cessera de conduire une fois que la valeur X sera supérieure à -100.

Pour votre information
Notez que la valeur indiquée par le capteur de localisation peut ne pas être exactement de -100 millimètres (mm). Comme le capteur de distance, les opérateurs de comparaison sont utilisés en raison du temps nécessaire au robot VR pour parcourir le projet et rapporter les valeurs.
Dans VEXcode VR Python, vous pouvez utiliser un opérateur de comparaison supérieur ou égal à (>=) ou inférieur ou égal à (<=) dans votre projet pour avoir une précision supplémentaire dans vos mouvements.
# Add project code in "main"
def main() :
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) <= -100 :
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()En fonction de la vitesse du robot VR et de la rapidité avec laquelle le projet itère dans la boucle, vous pouvez voir que le robot VR est capable de s'arrêter plus près de la valeur seuil lorsque le ou égal à (<= ou >=) est ajouté à l'opérateur.
Sélectionnez le bouton Suivant pour continuer le reste de cette leçon.