Boîte à outils de l'enseignant - Aperçu de l'activité
-
Cette exploration initiera les élèves à la programmation de comportements répétitifs en utilisant des boucles répétitives ou éternelles.
-
Apprendre à programmer en utilisant des boucles répétées et éternelles permet aux élèves de gagner du temps lors de la construction d'un projet qui utilise les mêmes actions répétées. Pour plus d'informations sur les instructions utilisées dans un projet de texte, consultez les informations d' aide.
Le Clawbot V5 est prêt à bouger !
Cette exploration vous donnera les outils pour pouvoir commencer à créer des projets sympas qui utilisent des boucles.
- Instructions VEXcode V5 Python qui seront utilisées dans cette exploration :
- drivetrain.drive_for(AVANT, 300, MM)
- drivetrain.turn_for(DROITE, 90, DEGRÉS)
- claw_motor.spin_for(MARCHE ARRIÈRE, 70, DEGRÉS)
- arm_motor.spin_for(AVANT, 360, DEGRÉS)
- bumper_b.pressing()
- while True :
- for repeat_count in range(4) :
- attendre(5, SECONDES)
Vous pouvez utiliser les informations d'aide à l'intérieur de VEXcode V5 pour en savoir plus sur les commandes Python individuelles.
Conseils à l'enseignant
Si c'est la première fois que l'étudiant utilise VEXcode V5, il peut lire une variété d'articles dans la bibliothèque VEX.
Conseils à l'enseignant - Utilisation de la saisie semi-automatique
La saisie semi-automatique est une fonctionnalité de VEXcode V5 qui prédit le reste de la commande que vous tapez. Pendant que les élèves travaillent dans VEXcode V5, encouragez-les à utiliser la fonction de saisie semi-automatique pour les aider avec la syntaxe Python. Vous remarquerez peut-être une fonction de saisie semi-automatique lorsque vous commencez à taper l'instruction. Utilisez vos touches « Haut » et « Bas » pour sélectionner le nom que vous souhaitez, puis appuyez sur « Tab » ou (Entrée/Retour) sur votre clavier pour effectuer la sélection. Pour plus d'informations sur l'utilisation de la saisie semi-automatique, consultez l'article Python.
Assurez-vous d'avoir le matériel requis, votre ordinateur portable d'ingénierie et VEXcode V5 téléchargés et prêts.
Quantité | Matériel nécessaire |
---|---|
1 |
Kit de démarrage de salle de classe VEX V5 (avec micrologiciel à jour) |
1 |
VEXcode V5 (dernière version, Windows, macOS) |
1 |
Carnet d'ingénierie |
1 |
Exemple de projet Clawbot Template (Drivetrain 2-motor, No Gyro) |
Étape 1 : Commençons à programmer avec des boucles
- Avant de commencer votre projet, sélectionnez le bon projet de modèle. L'exemple de projet Clawbot Template (Drivetrain 2-motor, No Gyro) contient la configuration du moteur du Clawbot. Si le modèle n'est pas utilisé, votre robot n'exécutera pas le projet correctement.
-
Sélectionnez Fichier et Ouvrir des exemples.
-
Faites défiler les différents exemples de projets. Ces projets démontrent une variété d'actions que votre Clawbot peut effectuer. Sélectionnez et ouvrez le projet d' exemple de modèle Clawbot (groupe motopropulseur 2 moteurs, pas de gyroscope).
-
Nommez le projet RepeatingActions.
-
Tapez le code suivant :
# Library imports from VEX import * # Begin project code # Drives forward 300mm turns 90 degrees for 4 iterations for repeat_count in range(4) : drivetrain.drive_for(FORWARD, 300, MM) drivetrain.turn_for(RIGHT, 90, DEGREES) wait(5, SECONDS)
Examinez le projet, puis procédez comme suit dans votre cahier d'ingénierie.
-
Prédisez ce que le projet fera faire au Clawbot. Expliquez plus que le fait que le projet se répète.
Qu'est-ce qu'il répète ? Que fait le Clawbot ?
- Écrivez votre prédiction, mais ne divisez pas le projet court en plus de deux parties.
Boîte à outils de l'enseignant - Réponses
-
Ce projet aura le robot : avancez de 300 millimètres , tournez à droite de 90 degrés, puis attendez 5 secondes 4 fois pour compléter un carré. Au lieu d'utiliser les mêmes 3 instructions 4 fois, l' instruction de répétition réduit la quantité à seulement 1 fois. L' instruction de répétition répète les actions consistant à avancer, puis à tourner.
-
La prédiction pourrait simplement être « Le Clawbot se déplace dans un carré ». Ce serait un moyen succinct de capturer les mouvements répétés du Clawbot sans aucun contexte.
Les cahiers d'ingénierie des étudiants peuvent être maintenus et notés individuellement ou en équipe. Les liens précédents fournissent une rubrique différente pour chaque approche. Chaque fois qu'une rubrique est incluse dans la planification de l'éducation, il est de bonne pratique d'expliquer la rubrique ou au moins d'en donner des copies aux élèves avant le début de l'activité.
-
Enregistrez, téléchargez et exécutez le projet Actions répétées.
- Vérifiez vos explications du projet dans votre cahier d'ingénierie et ajoutez des notes pour les corriger au besoin.
Étape 2 : Exécuter le projet et observer le robot
Regardez à nouveau le projet Actions répétitives (le deuxième projet). Ce projet répétera le comportement vers l'avant, puis tournera quatre fois. Une structure de boucle « répétée » (utilisant une boucle for) est utilisée lorsque vous souhaitez utiliser un ensemble de comportements un certain nombre de fois.
Si la structure de répétition est remplacée par une structure de boucle while, le robot répétera les comportements vers l'avant puis tournera « while » la condition est vraie. Vous pouvez également définir la condition sur « true » pour que la boucle while continue pour toujours.
Dans le premier projet, l'entrée d'un capteur est utilisée pour déterminer quand commencer à tourner. Le projet de droite utilise une distance de transmission fixe pour déterminer quand commencer à tourner.
Afin de vérifier en permanence l'entrée d'un capteur, une instruction if else est utilisée ensemble pendant une boucle while. Dans le projet à gauche, le robot tournera à droite lorsque le capteur "bumper_b" est enfoncé, sinon le robot avancera pour toujours si le capteur "bumper_b" n'est pas enfoncé. Pour vérifier en permanence la valeur du capteur bumper_b, l' instruction if est dans une boucle while.
Le premier projet est un cas d'utilisation pratique d'une structure qui se répète éternellement – en utilisant les instructions while loops et if ensemble. Imaginez une balayeuse autonome qui continue à avancer jusqu'à ce qu'elle heurte un mur ou un objet, puis tourne avant de continuer à conduire.
Étendez votre apprentissage
Pour explorer davantage la façon dont vous pouvez utiliser les boucles avec des conditionnels, demandez aux élèves de créer un projet Floor Sweeper dans VEXcode V5.
- Commencez par demander aux élèves de monter et de câbler les interrupteurs de pare-chocs.
-
Demandez aux élèves d'ouvrir le projet d' exemple de modèle Clawbot (groupe motopropulseur 2 moteurs, pas de gyroscope).
- Demandez aux élèves de configurer le commutateur de pare-chocs à 3 fils dans VEXcode V5, de sélectionner le périphérique à 3 fils que vous utilisez pour le PARE-CHOCS, et de sélectionner le port sur B.
-
Demandez aux élèves de nommer le projet Floor Sweeper.
-
Demandez aux élèves de construire le projet suivant.
# Library imports from vex import * import random # Begin project code while True : while (not bumper_b.pressing ()) : drivetrain.drive (FORWARD) wait(5, MSEC) drivetrain.stop () #The random.randomint () method returns a random integer number between the specified range #Pass the min and max values of the range to the parameters drivetrain.turn_for (RIGHT, (90+random.randint (0, 90)),DEGREES) wait(5, MSEC)
Si les élèves ont besoin d'aide avec l'une des instructions, référez-les aux informations d'aide.
Demandez aux élèves de télécharger et d'exécuter le projet pour observer comment le robot se déplace. Ensuite, commencez une discussion en classe et demandez aux élèves d'expliquer pourquoi la structure Forever a été utilisée au lieu d'une structure répétée.
Les étudiants doivent noter qu'une structure Forever est utilisée car ce projet vérifie en permanence si l'interrupteur de pare-chocs est enfoncé.
Étape 3 : Le défi des boucles carrées !
- Faites conduire votre Clawbot dans un carré.
- Avant chaque tour, la griffe doit être ouverte et fermée, et le bras doit être levé et abaissé.
- Le Clawbot ne peut pas rouler le long d'un côté de la place plus d'une fois.
- Vous pouvez utiliser le projet RepeatingActions ci-dessus comme point de départ, mais l'enregistrer sous SquaredLoops avant d'apporter des modifications.
Dans votre cahier d'ingénierie, planifiez ce qui suit :
- Planifiez votre solution et prédisez ce que chaque instruction de votre projet fera faire au Clawbot.
- Téléchargez et exécutez votre projet pour le tester avant de le soumettre.
- Apportez des modifications au projet au besoin et prenez des notes sur ce qui a été modifié pendant les tests.
Boîte à outils de l'enseignant - Solution
Voici une solution potentielle au défi des boucles carrées :
# Library imports
from VEX import *
# Begin project code
for repeat_count in range(4) :
drivetrain.drive_for (FORWARD, 300, MM)
claw_motor.spin_for (REVERSE, 70, DEGRÉS)
arm_motor.spin_for (FORWARD, 360, DEGRÉS)
claw_motor.spin_for (FORWARD, 70, DEGRÉS)
arm_motor.spin_for (REVERSE, 360, DEGRÉS)
drivetrain.turn_for (RIGHT, 90, DEGRÉS)
wait(5, MSEC)
Vous pouvez fournir aux étudiants une grille de programmation pour noter leurs projets. Les cahiers d'ingénierie des
étudiants peuvent être maintenus et notés individuellement ou en équipe.