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.
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)