El desafío de Groove Machine
En este desafío, te dividirás en equipos y programarás a tu robot para que realice una rutina de baile utilizando tus conocimientos de bucles. Su maestro establecerá un límite de tiempo para desarrollar/probar el baile y un límite de tiempo para la duración del baile. Todos los que no formen parte de los equipos de baile que compiten cara a cara juzgarán los bailes y votarán por el equipo que consideren mejor.
Normas:
- Cada Clawbot bailará uno a la vez dentro del área de 1x1 metros.
- El baile continúa hasta que se pulsa el botón Detener en la pantalla del cerebro para detener la ejecución del proyecto.
- El brazo debe levantarse y bajarse.
- La garra debe abrirse y cerrarse.
- El Clawbot debe girar a izquierda y derecha.
- El Clawbot debe avanzar y retroceder.
- El proyecto debe detenerse inmediatamente si el Clawbot choca con algo o se cae. Ese es un baile perdedor.
Teacher Toolbox
Juzgar por esta competencia podría manejarse de varias maneras. Una forma de aumentar la participación es hacer que los estudiantes graben en video el baile y que los estudiantes de otras clases voten por el ganador. Si eso es demasiado ambicioso, considere nombrar un panel de jueces imparciales antes de comenzar este desafío, o traer a otros estudiantes, maestros o personal.
La solución a continuación es simplemente una combinación de los tres movimientos de baile de ejemplo encadenados.
// Include the V5 Library
#include "vex.h"
// Permite un uso más fácil de la biblioteca VEX
utilizando el espacio de nombres vex;
int main() {
// Initializing Robot Configuration. ¡NO LO RETIRE!
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) {DrivetrainturnFor (
left, 10
, degrees);
wait (
.5, seconds);
} ArmMotor.spinFor (
reverse, 300, degrees);
}