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.
// Inclure la bibliothèque V5
#include "vex.h"/
/ Permet une utilisation plus facile de la bibliothèque VEX
en utilisant l'espace de noms vex ;
int main() {
// Initialisation de la configuration du robot. NE PAS ENLEVER !
vexcodeInit () ;
while (true)
{ArmMotor.spinFor (forward, 300, degrees
) ; ArmMotor.setStopping (brake) ;
repeat (
3) {Drivetrain.turnFor (right, 90, degrees) ;
repeat(2) {ClawMotor.spinFor (forward
, 90, degrees) ; ClawMotor.spinFor (reverse
, 90, degrees) ;
} Drivetrain.turnFor (left, 90
, degrees) ;
repeat (2)
{ClawMotor.spinFor (forward, 90, degrees) ; ClawMotor.spinFor (reverse, 90
, degrees) ;
} }
repeat (
2) {ArmMotor.spinFor
(forward, 300, degrees) ; ArmMotor.setStopping (brake)
; Drivetrain.turnFor (right, 90, degrees) ;
repeat (9) {
Drivetrain.turnFor (left, 10, degrees) ;
wait (.5, seconds) ;
} ArmMotor.spinFor (reverse, 300
, degrees) ;
} ArmMotor.Velset (80, percent) ; DrivetrainTsetVelocity (65, percent
) ;
repeat (2) {Armotor.spinFor
(forward, 3, 90, degrees
) ; repeat (left, 90,
degrees
)
;