Controladores e Loops
Nas competições, as equipas devem manipular os seus robôs sem fios com os controladores. O controlador está programado para atualizar o robô com base na entrada do utilizador. Os loops são usados no projeto para que o robô verifique repetidamente as informações de entrada atualizadas. Os loops permitem que o projeto verifique rapidamente quais botões foram pressionados ou até que ponto os joysticks foram pressionados. Uma vez verificada, esta informação é rapidamente retransmitida ao robô para que ele responda rapidamente às instruções do controlador.
O seguinte mostra o projeto de exemplo de Controle de Tanque do VEXcode V5. O loop while True infinite neste projeto verifica as posições dos eixos 2 e 3 para sempre, a fim de definir a velocidade dos motores.
# Importações
de biblioteca da importação Vex *
# Início do código do projeto
# Loop do controlador principal para definir os motores para as posições do eixo do
controlador
enquanto True: left_motor.set_velocity (controller_1.axis3.position ()
, PERCENT) right_motor.set_velocity (controller_1.axis2.position (),
PERCENT) left_motor.spin (FORWARD
) right_motor.spin (FORWARD)
wait(5, MSEC)
Os loops são importantes mesmo para a programação autônoma sem um controlador. Um loop ajuda a simplificar e organizar comandos repetidos dentro de um projeto.
Estenda a sua aprendizagem
Para expandir esta atividade, peça aos seus alunos que explorem as diferenças entre o controle arcade e o controle de tanques. Os alunos podem seguir os exemplos de projetos encontrados no VEXcode V5.
Existem quatro projetos de exemplo: Left Arcade, Right Arcade, Split Arcade e Tank Control.
Discutir como funcionam os loops dentro dos programas, bem como os prós e contras de cada tipo de controle.
Para relacionar esta atividade com a matemática, use os projetos arcada esquerda/direita (um joystick) e arcada dividida/acionamento do tanque (ambos os joysticks) acima para discutir as funções dos eixos X e Y dentro do projeto.