Skip to main content

Leçon 3 : Entrée de capteurs multiples

Dans la leçon précédente, le capteur de distance a été utilisé pour déterminer si le robot VR a détecté un objet ou non, et si oui, s'est dirigé vers l'objet. Cependant, aucune valeur de capteur n'a été utilisée pour déterminer si le robot VR était proche du bord du terrain de jeu pour l'arrêter. Arrêter le robot VR lorsqu'il était près du bord de l'aire de jeux l'empêcherait de s'éloigner du côté.

Le projet VEXcode VR de la leçon précédente utilisant le capteur de distance sur le robot pour détecter les châteaux, puis conduire pour les écraser, est affiché sur la gauche. Sur la droite se trouve la fenêtre du terrain de jeu montrant un projet en cours, avec plusieurs châteaux qui se sont écrasés, mais le robot VR est sur le point de quitter le bord du terrain de jeu.

Tel quel, le projet répète les comportements d'aller de l'avant et de tourner, pour toujours. Cependant, il n'y a aucune condition pour vérifier la bordure rouge autour du terrain de jeu. Ainsi, le robot VR peut tomber du terrain de jeu en allant de l'avant.

Une vue latérale du robot VR sur l'aire de jeux Dynamic Castle Crasher, poussant un morceau de château sur le côté et sur le point de chasser le bord lui-même.

Un autre capteur est nécessaire pour que le robot VR puisse déterminer s'il est proche du bord du terrain de jeu ou non. Les comportements consistant à avancer et à tourner n'ont qu'à se répéter jusqu'à ce que la bordure rouge soit détectée. Ainsi, le bloc [Forever] peut être remplacé par le bloc [Repeat until], afin de répéter les comportements de conduite en avant et de rotation jusqu'à ce que la condition de détection de la bordure rouge soit remplie. Le capteur Down Eye peut être utilisé pour déterminer si le robot VR est proche du bord du terrain de jeu en détectant la bordure rouge autour du terrain de jeu.

Un bloc de détection de couleur VR VEXcode lit Down Eye détecte le rouge ?.
  • Chargez le projet Unit9Lesson2 de la leçon précédente.
Le projet Unité 9 Leçon 2. Le projet commence par un bloc Quand a commencé avec un bloc pour toujours attaché. Dans le bloc Forever se trouve un bloc If then avec la distance avant trouvée un objet comme paramètre. La branche If then a un commentaire qui lit Knock over the building found using the Distance Sensor and a Drive forward block. La branche else a un commentaire qui indique Tourner pour trouver un bâtiment à l'aide du capteur de distance et d'un bloc de virage à droite.
  • Renommer le projet Unit9Lesson3.
La zone de nom du projet au centre de la barre d'outils VEXcode VR, surlignée avec une zone rouge, à gauche du bouton Sélectionner un terrain de jeu. Le nom du projet indique Unité 9 Leçon 3.
  • Un bloc est nécessaire pour vérifier en permanence le capteur Down Eye. Le robot VR devra répéter ces comportements jusqu'à ce que le capteur Down Eye détecte la couleur rouge. Tout d'abord, retirez le bloc [Forever].
Un aperçu de la suppression du bloc Forever du projet. Le nouveau projet passe du bloc Quand a commencé au bloc Si sinon, sans la boucle Forever présente.
  • Ajoutez un bloc [Répéter jusqu'à].
Une vue d'ensemble de l'ajout du bloc Répéter jusqu'à autour de la totalité du bloc Si alors sinon. Le nouveau projet commence par un bloc Quand a commencé, puis a un bloc Répéter jusqu'à avec le paramètre ouvert. Dans le C du bloc Répéter jusqu'à ce que se trouve le bloc If then else.
  • Ajoutez un <Color sensing> bloc à l'intérieur du bloc [Répéter jusqu'à] et définissez les paramètres sur « DownEye » détecte « rouge ».
Le même projet avec le réglage rouge Down Eye Detects comme paramètre du bloc Repeat until.

Un bloc [Répéter jusqu'au] est utilisé au lieu d'un bloc [Attendre jusqu'au] dans ce projet. En effet, un bloc [Attendre jusqu'à] est un bloc d'attente qui mettra en pause le flux du projet jusqu'à ce que la condition soit remplie. Si un bloc [Wait until] est utilisé, le bloc [If then else] ne sera pas exécuté tant que la condition du [Wait until] n'est pas remplie et le bloc [If then else] ne sera exécuté qu'une seule fois.

Un diagramme du flux du projet si un bloc Attendre jusqu'à ont été utilisés au lieu d'une boucle Répéter jusqu'à. Le projet resterait en attente jusqu'au bloc, jusqu'à ce que la condition signalée comme vraie, et ne passerait alors qu'au bloc If then else.

En utilisant un bloc [Repeat until], la condition [If then else] est constamment vérifiée et exécutée.

Un diagramme du flux de projet avec le bloc Répéter jusqu'à, montrant que la condition du bloc Si sinon est continuellement vérifiée et exécutée en fonction de si l'objet est trouvé (Vrai) ou non trouvé (Faux).
  • Ajoutez un commentaire pour noter le but de l'utilisation du bloc [Répéter jusqu'à].
Le même projet que précédemment construit, avec un bloc Commentaire ajouté entre le bloc Quand a commencé et le bloc Répéter jusqu'à. Le commentaire se lit comme suit : « Recherchez les bâtiments jusqu'à ce que la bordure rouge soit détectée. »
  • Ouvrez le terrain de jeu Dynamic Castle Crasher et exécutez le projet.
  • Lorsque ce projet est exécuté, le robot VR se dirigera vers un objet détecté et tournera à droite sinon. Cependant, même si le capteur Down Eye recherche la bordure rouge, le robot VR ne sait pas quoi faire une fois qu'il détecte le rouge, il continue donc à conduire et finit par tomber du terrain de jeu.

    Une vue de haut en bas de la fenêtre de l'aire de jeux Dynamic Castle Crasher alors que le projet est en cours, avec plusieurs châteaux qui se sont écrasés et le robot VR qui a quitté le bord supérieur droit de l'aire de jeux à la poursuite d'une pièce de château.

Une fois que la condition du bloc [Répéter jusqu'à] est remplie, le flux de projet s'exécutera hors du bloc [Répéter jusqu'à].

Sélectionnez le bouton Suivant pour continuer le reste de cette leçon.