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.
A seguir está o projeto de exemplo do Tank Drive do VEXcode V5. O loop para sempre neste projeto verifica as posições dos eixos 2 e 3 para sempre, a fim de definir a velocidade dos motores.
// Inclua a Biblioteca V5
#include "vex.h"
// Permite o uso mais fácil da Biblioteca VEX
usando o namespace Vex;
int main() {
// Initializing Robot Configuration. NÃO REMOVA!
vexcodeInit();
// Comece o código do projeto.
//Circuito do controlador principal para definir os motores para as posições do eixo do controlador
enquanto
(true) {LeftMotor.setVelocity (Controller1.Axis3.position (),
percent); RightMotor.setVelocity (Controller1.Axis2.position (), percent
); LeftMotor.spin (forward)
; RightMotor.spin (forward);
wait(5, msec);
}
return 0;
}
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 Drive.
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.