Skip to main content

Icône Boîte à outils de l'enseignant Boîte à outils de l'enseignant - Le but de cette activité

Cette activité initiera les élèves à l'utilisation des instructions while et if pour que le robot avance à moins que l'écran ne soit enfoncé.

  • Cette activité initiera les élèves aux conditionnels et aux instructions qui font avancer le robot à moins que l'écran ne soit enfoncé.
  • Pour plus d'informations sur les instructions if et if-else ou autres utilisées dans cette activité, consultez les informations d'aide dans VEXcode V5. Pour plus d'informations sur cet outil d'aide intégré, consultez l'article sur l'aide en Python.

Icône Boîte à outils de l'enseignant Boîte à outils de l'enseignant

Pour des suggestions sur les stratégies d'enseignement pour cette section, consultez la colonne Livraison du Guide de stimulation à faire ou à ne pas faire ! (Google Doc / .docx / .pdf)

Le Clawbot est prêt à prendre des décisions !

Cette exploration vous donnera les outils pour pouvoir commencer à créer des projets sympas qui utilisent if-else statement.s

  • Commandes VEXcode V5 Python qui seront utilisées dans cette exploration : 
    • drivetrain.drive_for(AVANT)
    • brain.screen.pressing()
    • drivetrain.stop()
    • si condition :
    • else :
    • while True :  
    • attendre(5, SECONDES)

Vous pouvez utiliser les informations d'aide à l'intérieur de VEXcode V5 pour en savoir plus sur les commandes Python.

VEXcode V5 avec un lecteur de commande tapé dans l'espace de travail à gauche, et les informations d'aide s'ouvrent à droite. L'aide montre une définition de la commande et des informations sur son utilisation.

Assurez-vous d'avoir le matériel requis, votre ordinateur portable d'ingénierie et VEXcode V5 prêts.

Matériel requis :
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

Modèle Clawbot (groupe motopropulseur à 2 moteurs, sans gyroscope)

Icône Conseils pour l'enseignant Conseils à l'enseignant

S'il s'agit de la première fois que l'étudiant utilise VEXcode V5, il peut faire référence aux tutoriels à tout moment au cours de cette exploration. Les didacticiels se trouvent dans la barre d'outils.

Barre d'outils VEXcode V5 avec des didacticiels surlignés dans une boîte rouge. La barre d'outils affiche, de gauche à droite, le logo V5, une icône globe, un fichier et des tutoriels. À droite des didacticiels se trouvent des icônes et des fonctionnalités supplémentaires.

Étape 1 : Commençons par comprendre les déclarations conditionnelles 

Avant de commencer à programmer avec des conditionnels, lisez l'article expliquant les instructions if-else. L'article est disponible ici (Google Doc / .docx / .pdf).
Screenshot of the linked article titled Using If else statements in VEXcode V5 Python.
Pour obtenir une liste des opérateurs à utiliser dans les instructions if-else, lisez l'article expliquant les booléens. Cet article est disponible ici (Google Doc/.docx/.pdf).

Capture d'écran de l'article lié intitulé Using Booleans in VEXcode V5 Python.

Étape 2 : Commençons à programmer avec des instructions conditionnelles.

  • Ouvrez le projet d'exemple de modèle Clawbot (groupe motopropulseur à 2 moteurs, sans gyroscope).

    Exemples de projets dans VEXcode V5 avec le filtre Modèles et l'icône Clawbot Drivetrain 2 motor no gyro mis en évidence par une case rouge indiquant le projet à ouvrir.

     

  • Construisez le projet ci-dessous.
# Begin project code
while True :
    drivetrain.drive(FORWARD)
    if brain.screen.pressing() :
        drivetrain.stop()
        while brain.screen.pressing() :
            wait(5, MSEC)
    wait(5, MSEC)

Procédez comme suit dans votre cahier d'ingénierie :

  • Expliquez ce que le projet fait avec le Clawbot. Vous devrez expliquer plus que le fait qu'il crée un bouton d'arrêt. Expliquez quelles instructions font faire quoi au Clawbot.
  • Rédigez un résumé d'une phrase qui capture ce que fait le projet.
  • Testez pour voir si votre prédiction de ce que le projet a fait avec le Clawbot est correcte.
  • Nommez le projet CreatingAStopButton. Téléchargez et exécutez le projet sur le Clawbot.
    La boîte de dialogue Nom du projet dans la barre d'outils VEXcode V5 indique Créer un bouton d'arrêt et indique que l'emplacement 1 est sélectionné.
  • Vérifiez vos explications du projet et ajoutez des notes pour les corriger au besoin.

Icône Boîte à outils de l'enseignant Boîte à outils de l'enseignant - Réponses

Dans le cadre de ce projet, le robot avance en continu, mais s'arrête si l'écran est enfoncé. Pour ce faire, il utilise une instruction « forever » (tandis que True) pour conduire et vérifier en continu. Si l'écran est enfoncé (Vrai), le Clawbot cesse de conduire.La fonction des commandes dans le projet Stop ou Drive est étiquetée. L'instruction if est étiquetée comme Vérifie si la condition est vraie - vérifie si l'écran est enfoncé. Les blocs en retrait en dessous sont étiquetés Si la condition est True, exécute le bloc de codes. La commande while brain screen pressing est étiquetée contrôle la vitesse de traitement.

Les élèves ne sont pas censés comprendre pourquoi les commandes while brain.screen.pressing () : et wait(5, MSEC) sont utilisées. Expliquez que ces commandes sont nécessaires en raison de la vitesse du flux de programme du robot. S'il n'était pas là, les moteurs du Clawbot se comporteraient comme si l'utilisateur appuyait sur l'écran encore et encore pendant qu'il bouclait le projet. Au lieu de cela, ces instructions arrêtent le flux du programme et ne permettent pas au projet de redémarrer la boucle tant que l'utilisateur n'a pas cessé d'appuyer sur l'écran.

La ligne de pseudocode pourrait être aussi simple que : Avancez jusqu'à ce que l'écran soit enfoncé.

Les cahiers d'ingénierie des étudiants peuvent être maintenus et notés individuellement (Google Doc / .docx / .pdf) ou en équipe (Google Doc / .docx / .pdf). 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é.

Étape 3 : Comprendre les instructions while et wait().

Notez que si vous appuyez sur l'écran Cerveau, le flux du projet se déplace rapidement et le projet passera à l'instruction suivante, qui est la  commandedrivetrain.stop ().

Ainsi, le projet a besoin de commandes while and wait qui indiquent au robot de rester à l'arrêt jusqu'à ce que l'écran du cerveau soit libéré. Sinon, l' instruction Forever entraînerait la reprise du projet.

while brain.screen.pressing() :
	wait(5, MSEC)

Les commandes while et wait sont nécessaires en raison de la rapidité du flux du projet. S'ils n'étaient pas là, le projet passerait à l'instruction suivante avant que le robot n'ait jamais eu le temps de répondre.

Étape 4 : Modifiez le projet.

Notre prochaine étape consiste à remplacer l' instruction if par une instruction if-else.

  • Commencez par enregistrer CreatingAStopButton en tant que nouveau projet, StopOrDrive.La boîte de dialogue Nom du projet dans la barre d'outils VEXcode V5 indique Arrêter ou Conduire et indique que l'emplacement 1 est sélectionné.
  • Si vous avez besoin d'aide pour enregistrer un projet, consultez ces articles.
  • Ensuite, créez le projet StopOrDrive illustré ci-dessous.
# Begin project code
while True :
    if brain.screen.pressing() :
        drivetrain.stop()
        while brain.screen.pressing() :
            wait(5, MSEC)
    else :
        drivetrain.drive(FORWARD)
    wait(5, MSEC)
  • Téléchargez StopOrDrive to Slot 2 sur votre Clawbot.

La fenêtre de sélection d'emplacement est ouverte dans la barre d'outils VEXcode V5, et l'emplacement 2 est sélectionné et mis en surbrillance avec une case rouge.

  • Pour obtenir de l'aide sur le téléchargement et l'exécution d'un projet, consultez cet article.
  • Testez CreatingAStopButton (fente 1), puis testez StopOrDrive (fente 2) et comparez-les pour voir s'il y a une différence dans le comportement du robot. Notez toute différence dans votre carnet d'ingénierie

Icône Boîte à outils de l'enseignant Boîte à outils de l'enseignant - Réponse

En ce qui concerne le comportement du robot, il ne devrait pas y avoir de différence entre les projets CreatingAStopButton et StopOrDrive.

Si les étudiants ont besoin d'une aide supplémentaire pour comprendre les énoncés if-else, consultez cet article (Google Doc / .docx / .pdf).

Les deux projets ont le Clawbot se comporter de la même manière. La seule différence est l'utilisation de l' instruction if-else dans le projet StopOrDrive.
L'utilisation de l' instruction if-else vous permettra d'ajouter des boutons supplémentaires à l'écran dans les activités à venir.

Icône Étendre votre apprentissage Étendez votre apprentissage

Au fur et à mesure que ce laboratoire STEM progressera, les étudiants développeront des projets qui permettront à l'écran du Clawbot de fonctionner comme une interface utilisateur. En préparation, mettez les élèves au défi de comprendre comment dessiner un rectangle coloré à l'écran qui fonctionne comme un bouton. Parce qu'appuyer n'importe où sur l'écran est actuellement la condition, le bouton devrait occuper tout l'écran. Les élèves doivent demander au projet de diffuser un événement pour dessiner le bouton au démarrage.

Demandez aux élèves d'apprendre d'abord comment l'écran du cerveau est organisé en un système de coordonnées. Ils devront comprendre cela afin de définir les paramètres dans les commandes qu'ils utiliseront. Les coordonnées utilisées correspondent au nombre de pixels et non au numéro de la colonne ou de la ligne. Voici la disposition de l'écran :La grille de pixels de l'écran Cerveau V5 affiche 12 lignes numérotées le long du côté gauche, avec la ligne supérieure étiquetée Ligne 1 et la ligne inférieure étiquetée Ligne 12. En haut se trouvent 48 colonnes numérotées, avec la colonne 1 étiquetée à l'extrême gauche et la colonne 48 étiquetée à l'extrême droite. Les mesures totales de pixels sont de 480 px de large sur 240 px de haut.

Les étudiants doivent planifier, tester et affiner ces modifications du projet tout en le documentant dans leurs cahiers d'ingénierie. Pour la rubrique de bloc-notes d'ingénierie individuelle, cliquez sur l'un des liens suivants (Google Doc / .docx / .pdf), ou cliquez sur l'un des liens suivants pour les blocs-notes d'équipe (Google Doc / .docx / .pdf).

Voici un exemple de solution : 

# Begin project code
draw = Event()

def draw_button() :
    brain.screen.set_fill_color (Color.RED)
    brain.screen.draw_rectangle (0, 0, 480, 240)
    wait(1, SECONDS)

draw(draw_button)
while True :
    draw.broadcast ()
    drivetrain.drive (FORWARD)

    if brain.screen.pressing () :
        drivetrain.stop ()
        while brain.screen.pressing () :
            wait(5, MSEC)
    else :
        drivetrain.drive (FORWARD)
        
    wait(5, MSEC)

Comme vous pouvez le voir, le bouton est dessiné pour occuper tout l'écran en commençant à l'origine (0, 0) et en remplissant tous les 480 pixels horizontaux (axe des abscisses) et 240 pixels verticaux (axe des ordonnées).