
O desafio da máquina Groove
Neste desafio, irá dividir-se em equipas e programar o seu robô para passar por uma rotina de dança usando o seu conhecimento de loops. Seu professor definirá um limite de tempo para desenvolver/testar a dança e um limite de tempo para a duração da dança. Todos os que não fazem parte das equipas concorrentes vão julgar as danças e votar na equipa que acharem melhor.
Regras:
- Cada Clawbot dançará um de cada vez dentro da área de 1x1 metro.
- A dança continua até que o botão Parar na tela do Cérebro seja pressionado para impedir a execução do projeto.
- O braço deve ser levantado e abaixado.
- A garra deve abrir e fechar.
- O Clawbot deve virar à esquerda e à direita.
- O Clawbot deve dirigir para frente e para trás.
- O projeto precisa ser interrompido imediatamente se o Clawbot colidir com qualquer coisa ou cair. Isso é uma dança perdida.
Caixa de Ferramentas do Professor
O julgamento para esta competição pode ser tratado de várias maneiras. Uma maneira de aumentar o engajamento é fazer com que os alunos gravem o vídeo da dança e que os alunos de outras turmas votem no vencedor. Se isso for muito ambicioso, considere nomear um painel de juízes imparciais antes de iniciar este desafio, ou trazer outros alunos, professores ou funcionários.
A solução abaixo é apenas uma combinação de todos os três exemplos de movimentos de dança amarrados juntos.
# Importações
de biblioteca de importação de Vex *
# Comece
o código do projeto
enquanto True:
arm_motor.spin_for (FORWARD, 300, DEGREES) arm_motor.set_stopping (BRAKE
)
for repeat_count in range(3): drivetrain.turn_for (RIGHT,
90, DEGREES) for repeat
_claw in range (2)
: claw_motor.spin_for (REVERSE,
90, DEGREES) claw_motor.spin_for (
FORWARD, 90, degrees)
wait (
5, MSEC) drivetrain.turn_for (LEFT
, 90, DEGREES)
for repeat_claw in range (2): claw_motor.spin_for (REVERSE, 90, degrees) claw_motor.spin_for
(FORWARD, 90, DEGREES)
wait (5
, MSEC)
for repeat_count in range(2): arm_motor.spin_for (
FORWARD, 300, DEGREES)
arm_motor.set_stopping (BRAKE) drivetrain.turn_for
(RIGHT, 90, DEGREES)
for repeat_turn
in range (9)
: drivetrain.turn_for (LEFT, 10, degrees
wait (5, MSEC
) arm_motor.spin_for (REVERSE, 300, DEGREES),
wait (5, MSEC
) arm_motor.set.vel_ocity (80, PERCENT
) drivetrain_tset_urnity (65, count_
for repeat, 2,
arm_motor_for (RIGHT, 300,
range_drivetrain_for):