Skip to main content

VEX V5 Clawbot avec le bras levé et la griffe ouverte.
VEX V5 Clawbot avec son bras vers le haut et sa griffe ouverte.

Le défi de la machine à rainures

Dans ce défi, vous allez vous diviser en équipes et programmer votre robot pour qu'il passe par une routine de danse en utilisant vos connaissances des boucles. Votre professeur fixera une limite de temps pour développer/tester la danse et une limite de temps pour la durée de la danse. Tous ceux qui ne font pas partie des équipes de danse en compétition jugeront les danses et voteront pour l'équipe qu'ils pensent être la meilleure.

Règles :

  • Chaque Clawbot dansera une à une dans la zone de 1x1 mètre.
  • La danse se poursuit jusqu'à ce que le bouton Arrêter sur l'écran du cerveau soit enfoncé pour empêcher le projet de fonctionner.
  • Le bras doit être levé et abaissé.
  • La griffe doit s'ouvrir et se fermer.
  • Le Clawbot doit tourner à gauche et à droite.
  • Le Clawbot doit avancer et reculer.
  • Le projet doit être arrêté immédiatement si le Clawbot entre en collision avec quoi que ce soit ou tombe. C'est une danse perdante.

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

Juger pour ce concours pourrait être géré de plusieurs façons. Une façon d'accroître l'engagement consiste à ce que les élèves enregistrent la vidéo de la danse et à ce que les élèves d'autres classes votent pour le gagnant. Si cela est trop ambitieux, envisagez de nommer un panel de juges impartiaux avant de commencer ce défi, ou de faire appel à d'autres étudiants, enseignants ou membres du personnel.

La solution ci-dessous est simplement une combinaison des trois exemples de mouvements de danse liés ensemble.

# Library imports
from vex import *

# Begin project code

    while True : arm_motor.spin_for (FORWARD,
    300, DEGRÉS) arm_motor.set_stopping (BRAKE)
    
    for repeat_
        count in range (3) : drivetrain.turn_for (RIGHT, 90, DEGRÉS
            )
        
        for repeat_claw in
            range (2) : claw_motor.spin_for (REVERSE, 90, DEGRÉS
            
        ) claw_motor.spin_for (FORWARD, 90, DEGRÉS)
            wait (5, MSEC
            ) drivetrain.turn_for (LEFT, 90
            , DEGRÉS)


    for repeat_claw
            in range (2) : claw_motor.spin_for (REVERSE, 90, degrés) claw_motor.spin_for (FORWARD
        , 90, DEGRÉS)
            
        wait (
        5, MSEC
        )
            wait (5, MSEC)
        
        for repeat_count in range(
            2) : arm_motor.spin_for (forward, 300, DEGRÉS)
            
        arm_motor.set_stopping (BRAKE) drivetrain.turn_for (RIGHT, 90, DEGRÉS

    )
    
    for repeat_in
    turn (range) : drive.train_turn_for (LEFT, 10, DEGRÉS)

        wait (5, MSEC)
        
        arm_motor.spin_for (REVERSE, 300, DEGRÉS)
            ,
            wait (5, MSEC)
            arm_motor.set_velocity (80, %) arm_motor_set_city (80, %
            
        ) drivetrain_turn_for (FORWARD, 90
        , 90, DEGRÉS)